JMM重排序与synchronized

来源:12-8 重排序3

1jushi

2020-03-09

老师您好,看网上大部分说JMM的特性是可见性、原子性和有序性(不是重排序),达到有序性的方法有volatile和synchronized等。volatile禁止重排序可以达到有序性这点可以理解,但是synchronized只是保证同步代码不被多个线程同时执行而已,好像和解决重排序达到有效性没关系?还有一点不去顶,synchronized代码块内部的代码是否会重排序?有点捋不顺,麻烦老师解答下,谢谢

写回答

1回答

悟空

2020-03-09

重排序和有序性我认为是很类似的概念?不重排序,所有能保证有序性?

synchronized内部代码会被重排序的。

synchronized更多的是保证原子性和可见性。

0
0

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程