码迷,mamicode.com
首页 > 其他好文 > 详细

JMM和底层实现原理

时间:2019-07-04 12:58:13      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:共享内存   jmm   col   方法   互斥   之间   线程之间的通信   顺序   notify   

一、并发编程领域的关键问题

1.线程之间的通信和同步

1.1  线程之间的通信

线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存消息传递

1.1.1  共享内存  在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共享内存通信方式就是通过共享对象进行通信

1.1.2 消息传递  在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信,在java中典型的消息传递方式就是wait()和notify()。

1.2  线程之间的同步

同步是指程序用于控制不同线程之间操作发生相对顺序的机制。 在共享内存并发模型里,同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。 在消息传递的并发模型里,由于消息的发送必须在消息的接收之前,因此同步是隐式进行的

结论:Java的并发采用的是共享内存模型

JMM和底层实现原理

标签:共享内存   jmm   col   方法   互斥   之间   线程之间的通信   顺序   notify   

原文地址:https://www.cnblogs.com/lys-lyy/p/11131728.html

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