为了账号安全,请及时绑定邮箱和手机立即绑定

多线程计算相同的数据,结果为什么不稳定

多线程计算相同的数据,结果为什么不稳定

缥缈止盈 2018-12-03 16:09:06
多线程计算相同的数据,结果为什么不稳定。已经测试过了,如果是单线程的,结果就是稳定的,请问怎么回事?
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

多线程之间如果访问了相同数据的话,那么就需要做线程同步访问控制才能保证数据的一致性。
例如:i++操作,本质是三个操作读取i,i加1,然后将i的值写入内存中,中三个操作如果有两个操作跨线程了,那么就导致其他线程可能得到错误的结果。
所以多线程访问共享变量需要做同步处理。


查看完整回答
反对 回复 2018-12-07
?
翻阅古今

TA贡献1780条经验 获得超5个赞

多线程的时候,每个线程的执行顺序不一定,造成结果不一定,可以考虑加锁!


查看完整回答
反对 回复 2018-12-07
?
忽然笑

TA贡献1806条经验 获得超5个赞

脏数据,线程之间相互通信出问题了呗


查看完整回答
反对 回复 2018-12-07
  • 3 回答
  • 0 关注
  • 1438 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信