并发编程
H阿布
这个作者很懒,什么都没留下…
展开
-
volatile关键字的作用及使用场景
volatile关键字是java虚拟机提供的最轻量级的同步机制。在并发的场景下,我们都习惯于使用synchronized锁进行同步,其实,有些简单的场景下,我们也可以使用volatile来代替,但volatile有它本身的使用规则,不能滥用,要结合它自身的特性把它应用于适合的场景下。下面就来简单叙述一下volatile关键字的作用,及其适用场景。 一、volatile的特性 被volatile修饰...原创 2020-02-16 22:29:19 · 5091 阅读 · 0 评论 -
Happens-Before原则
一、让人又爱又恨的指令重排 了解过Java并发编程知识的童鞋都知道,Java内存模型是围绕着并发过程中如何处理原子性、可见性和有序性3个特征来建立的,其中有序性最为复杂。 我们习惯性的认为代码总是从先到后、依次执行的,这在单线程的时候确实是没错的(至少程序是正确的运行的)。但在并发时,有时候给人感觉写在后面的代码,比写在前面的代码先执行,如同出现了幻觉。这就是鼎鼎大名的指令重排,指令重排是很有必要...原创 2019-10-10 17:53:14 · 2016 阅读 · 0 评论