java内存模型

并发编程存在两个关键性问题:

  • 一是线程之间如何通信
  • 二是线程之间如何同步

通信是指线程之间以何种机制来交换信息

同步是指程序中用于控制不同线程间操作发生相对顺序的机制

线程之间的通信方式有两种:

  • 一是共享内存:线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信
  • 二是消息传递:线程之间没有公共状态,线程之间必须通过发送消息来显式进行通信

共享内存方式同步时显式的,需要手动指定方法或代码块在线程之间互斥

消息传递方式同步时隐式的,天然同步,消息的发送必须在消息的接收之前

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

results matching ""

    No results matching ""