请稍等 ...
×

采纳答案成功!

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

什么场景下volatile关键字可以取代synchronized关键字

正在回答

1回答

同学你好


volatile能替代的synchronized唯一场景:

当变量是独立状态标记(比如boolean isRunning),且满足:

  1. 只由一个线程写(其他线程只读)

  2. 写操作是简单赋值

  3. 不涉及其他共享数据关联

典型例子: 多线程循环检查volatile boolean标志位退出。

其他情况绝对不行! 尤其是i++、对象状态关联修改等需要原子性的操作,必须用synchronized或并发工具。



0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号