采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
对于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余道并发高频面试题
1.9k 26
940 12
1.1k 12
2.5k 12
1.1k 11