JAVA多线程-内存模型JMM、volatile关键字和线程状态

JAVA内存模型JMM
Java 内存模型定义了一种多线程访问java 内存的规范 1、java 内存模型将内存分为主内存和工作内存。类的状态是存储在主内存中,每次java 线程用到主内存中的变量时需要读取一次主内存中的变量值,并在自己的工作内存中存储一个拷贝,运行线程代码时,操作的是自己工作内存中的那一个值。在线程执行完毕后,会将最新值更新到主内存。 2、规范中定义了几个原子操作,用于操作主内存和工作内存中的变量。 3、内存规范中定义了volatile 变量的使用规范。 4、happens-before 先行发生原则,只要符合这些原则,则不需要额外进行同步处理,如果不符合规则,这段代码就是线程非完全的。
硬件模型
线程在读取主内存中的数据到CPU 缓存时,就会产生一个数据存放在不同的位置,这种多个备份就会有2 个问题:可见性和静态条件。
多线程之间是可以通过使用PipedInputStream/PipedOutputStream 互相传递数据,但是他们之间的沟通只能通过共享变量来实现。      主内存是多个线程共享的      当

JAVA多线程-内存模型JMM、volatile关键字和线程状态最先出现在Python成神之路

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/17192.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>