读书学习
巴拉巴拉顺
这个作者很懒,什么都没留下…
展开
-
读深入理解JAVA虚拟机-volatile特殊规则
volatile关键字是JVM提供最轻量级的同步机制!!! volatile关键字具备两种特性: 保证变量对所有线程的可见性 禁止指令重排序优化 千万注意:因为java中的运算不具备原子性,不能保证线程安全,不能保证线程安全。 可见性 当一个线程修改了变量的值,新值对于其他线程是可以立即得知的。 在各个线程的工作内存中,volatile变量也可以存在不一致的情况,但由于每次使用变量前都要先从主内存刷新,JVM的执行引擎看不到不一致的情况,因此可以认为不存在一致性问题。 一般来说,在以下两条规则.原创 2020-06-04 23:29:16 · 120 阅读 · 0 评论 -
读深入理解JAVA虚拟机-JAVA与线程
线程的实现 先清楚一个基本概念,线程是比进程更轻量级的调度执行单位(线程是CPU调度的基本单位)。 当下主流操作系统都提供了线程实现,JAVA语言提供了在不同硬件和操作系统平台下对线程操作的统一处理 一般实现线程主要有三种方式:使用内核线程实现,使用用户线程实现和使用用户线程加轻量级进程混合实现 使用内核线程实现: 内核线程(Kernel-Level Thread, KLT)是由操作系统内核支持的线程,内核通过操纵调度器对线程进行调度,并负责将线程的任务映射到CPU上。 另外程序一般不会直接去使用内核原创 2020-06-19 22:43:35 · 153 阅读 · 0 评论