本篇文章为大家展示了如何深入理解Java多线程与并发框中的volatile关键字,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
把对 volatile变量的单个读/写,看成是使用 同一个监视器锁 对这些单个读/写操作做了 同步。 原理:插入内存屏蔽指令,禁止一定条件下的重排序。
volatile 是轻量级的同步机制
举例说明:
public class Assignment { int value = 1; /** * 加法 */ public void assign1() { value = 1; // 单操作 } public void assign2() { value = 2; // 单操作 } }
volatile禁止指令重排序也有一些规则,简单列举一下**(重点是存在多操作)**:
当第二个操作是voaltile写时,无论第一个操作是什么,都不能进行重排序
当地一个操作是volatile读时,不管第二个操作是什么,都不能进行重排序
当第一个操作是volatile写时,第二个操作是volatile读时,不能进行重排序
上述内容就是如何深入理解Java多线程与并发框中的volatile关键字,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。