请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

Jimin 2019-05-26 12:12:56

你好,原子性的根本在于多个操作之间不会有其他操作进来。我们在写一个方法时很容易遇到这样的:1、先从某处取出数据,并修改,2、然后将修改的更新回某处。单独看这一个方法是两部操作连续执行的,但实际未必如此,将这两个操作放在多线程环境下,很容易出现多个线程同时完成第一步操作,然后都去进行第二部,这时如果不做处理,每个线程都认为自己是对的,只关心用自己的结果去更新就会有问题,这就需要借助cas等来保证原子性来更新,这样才不会有线程安全问题。
这里并发的线程越多,需要做更新时出现非原子性更新的概率就会越大,这时借助cas更新时竞争就会变得更激烈,这就代表着cas执行时循环的次数会更多。

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信