我使用Interlocked.Increment来输出处理的数量,为啥还是会有重复的数据
try里面的执行完打印后,下面的代码报错。catch住后再次打印。这样就形成了连续的日志啦
是因为使用=号就不是原子操作了
试试用一个新变量打印var scopedActionCount = Interlocked.Increment(ref actionCount);
var scopedActionCount = Interlocked.Increment(ref actionCount);
感觉是值修改了没问题,但是打印读取到的actionCount可能是被其他线程修改过的
actionCount
使用了=号就不是原子操作了
try里面的执行完打印后,下面的代码报错。catch住后再次打印。这样就形成了连续的日志啦
– CallMeEureka 12个月前是因为使用=号就不是原子操作了
– 灬丶 12个月前