线程之间的通信机制有两种:共享内存和消息传递。
同步是指程序中用于控制不同线程间操作发生相对顺序的机制。
在共享内存的并发模型里,通信是隐式进行的,同步时显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。
在消息传递的并发模型里,由于消息的发送必须在消息的接收之前,因此同步是隐式进行的。
Java并发采用共享内存的并发模型。
在Java中,所有的实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享。