lx-dong
Results
1
issues of
lx-dong
背景:我们自己实现了 CacheMonitor 对缓存读写事件进行监听统计。压测时发现有空指针问题。 排查问题: CacheResult 的属性读写都没有做线程安全防护,正常情况下只有缓存读写的主线程会访问这个对象实例。但是有个CacheMonitor接口,CacheEvent的实现类中会透传CacheResult(例如 CacheGetEvent)。此时若CacheMonitor实现类内部另起监听线程,那么就会存在多个线程同时读写CacheResult的场景,引发线程安全问题。