600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 教妹学Java:聊聊并发编程的原子性 可见性 有序性 以及内存模型 JMM

教妹学Java:聊聊并发编程的原子性 可见性 有序性 以及内存模型 JMM

时间:2021-04-23 12:18:55

相关推荐

教妹学Java:聊聊并发编程的原子性 可见性 有序性 以及内存模型 JMM

若有收获,请记得分享和转发哦

“三妹啊,既然放假了,我们就一起来深入学习一下 Java 并发编程吧。”

“并发编程太难了,想想都头大。”三妹很不情愿地说。

“没关系,我们一步步来。”我说,“今天我们先来学习一下Java 并发编程的基础知识,包括原子性、可见性、有序性,以及内存模型 JMM。”

并发编程基本概念

原子性

一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。

原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。

例如 a=1 是原子性操作,但是 a++和 a +=1 就不是原子性操作。Java 中的原子性操作包括:

基本类型的读取和赋值操作,且赋值必须是值赋给变量,变量之间的相互赋值不是原子性操作;

所有引用 reference 的赋值操作;

java.concurrent.Atomic.* 包中所有类的一切操作。

可见性

指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。

在多线程环境下,一个线程对共享变量的操作对其他线程是不可见的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。