首页 新闻 会员 周边 捐助

Interlocked.Increment输出重复问题

0
悬赏园豆:5 [待解决问题]

我使用Interlocked.Increment来输出处理的数量,为啥还是会有重复的数据

灬丶的主页 灬丶 | 初学一级 | 园豆:9
提问于:2023-11-17 09:54

try里面的执行完打印后,下面的代码报错。catch住后再次打印。这样就形成了连续的日志啦

CallMeEureka 12个月前

是因为使用=号就不是原子操作了

灬丶 12个月前
< >
分享
所有回答(2)
0

试试用一个新变量打印var scopedActionCount = Interlocked.Increment(ref actionCount);

复制粘贴机器人 | 园豆:720 (小虾三级) | 2023-11-17 14:40

感觉是值修改了没问题,但是打印读取到的actionCount可能是被其他线程修改过的

支持(0) 反对(0) 复制粘贴机器人 | 园豆:720 (小虾三级) | 2023-11-17 14:49
0

使用了=号就不是原子操作了

灬丶 | 园豆:9 (初学一级) | 2023-11-20 15:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册