
JUC
文章平均质量分 97
爪哇贡尘拾Miraitow
行走在爪哇的道路上,懂得拾起大佬的智慧,想要贡献自己所得,哪怕微若尘埃
展开
-
Volatile 详解图文结合
5. 共享模型之内存 上一章讲解的 Monitor 主要关注的是访问共享变量时,保证临界区代码的原子性。这一章我们进一步深入学习共享变量在多线程间的【可见性】问题与多条指令执行时的【有序性】问题 5.1 Java 内存模型 JMM 即 Java Memory Model,它从java层面定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。JMM 体现在以下几个方面 原子性 - 保证指令不会受到线程上下文切换的影响 可见性 - 保证指令不会受 cpu 缓存的影响 有原创 2022-02-20 00:56:25 · 494 阅读 · 21 评论 -
Synchronized详解(Monitor,轻量级锁,偏向锁,锁膨胀,锁消除,自旋)
4.5 Monitor 概念 synchronized的作用 (1)原子性:所谓原子性就是指一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。被synchronized修饰的类或对象的所有操作都是原子的,因为在执行操作之前必须先获得类或对象的锁,直到执行完才能释放。 (2)可见性:可见性是指多个线程访问一个资源时,该资源的状态、值信息等对于其他线程都是可见的。 synchronized和volatile(后面文章会讲到)都具有可见性,其中synchronized对一个类原创 2022-02-18 15:43:30 · 920 阅读 · 0 评论