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

多线程计算相同的数据,结果为什么不稳定。已经测试过了,如果是单线程的,结果就是稳定的,请问怎么回事?


缥缈止盈
浏览 1397回答 3
3回答

慕森卡

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

翻阅古今

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

忽然笑

脏数据,线程之间相互通信出问题了呗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

测试