采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
对于synchronized,是不是不能防止重排序?
如下 a = 3; synchronized( this) { b = 2 ;} 这里的a 和 b能发生重排序吗?
synchronized(this) { a = 1 ; b = 2 ;} 这里的a 和 b能发生重排序吗?
对于重排序,看了这些视频,讲到了 有依赖关系的代码不能发生重排序,和被volatile修饰的变量不能发生重排序。 是否还有其他的情况不能发生重排序。
synchronized能保证它自身的happens-before,只要满足happens-before,就可以重排序。
所以:
a = 3;synchronized( this) { b = 2 ;}这里的a 和 b能发生重排序吗?:可以
synchronized(this) { a = 1 ; b = 2 ;} 这里的a 和 b能发生重排序吗?:可以
非常感谢!
悟空老师,针对synchronized 的重排序是 synchronized(this){b=2}; a=3; 的这种情况吧
什么意思?
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
2.0k 26
1.0k 12
1.2k 12
2.6k 12
1.2k 11
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号