码迷,mamicode.com
首页 > 编程语言 > 详细

Java并发编程的艺术(五)Java内存模型

时间:2019-07-20 13:06:17      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:组元   本地   硬件   元素   有一个   线程之间的通信   传递   异常处理   java线程   

1、并发编程模型的两个关键问题:线程之间的通信同步

 

2、并发线程模型有两种:

(1)共享内存:线程之间有公共状态,通过读-写内存中的公共状态进行隐式通信显示同步

(2)消息传递:线程之间没有公共状态,必须通过发送消息进行显示通信隐式同步

 

3、Java的并发采用共享内存模型,线程间的通信总是隐式进行,整个通信过程对程序员完全透明。

 

4、Java中堆内存存储的共享变量(实例静态数组元素)在线程之间共享,局部变量方法定义参数异常处理器参数不会共享(也就不存在内存可见性问题)。

 

5、Java线程之间的通信由Java内存模型(JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。

 

6、Java内存模型(JMM):线程之间的共享变量存储在主内存中,另外每个线程都有一个私有的本地内存,本地内存存储了共享变量的副本(本地内存是一个抽象概念,并不真实存在,涵盖了缓存、寄存器以及其他的硬件和编译器优化)。

Java并发编程的艺术(五)Java内存模型

标签:组元   本地   硬件   元素   有一个   线程之间的通信   传递   异常处理   java线程   

原文地址:https://www.cnblogs.com/xy80hou/p/11217292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!