模式

1.同步模式之保护性暂停
(保护性暂停, 没得到结果就放掉锁对象,不要占着茅坑不拉屎)
image1

image2

1.1 join(timeout)的原理

如果timeout大于0,那么我们就开始计时并且wait,超时就不管了

如果timeout等于0,那么我们就一直wait

image3

1.1 顺序控制: 线程的同步控制

While(!flag)+wait+notify

While(!flag)+condition+await+signalAll

LockSupport.park()+LockSupport.unpark(nextThread)

多个线程呢? waitState+State+nextState+ while(State!=waitState)

2.异步模式之生产/消费者
注意这里锁了messageQueue
(在main中创建了一个唯一实例,所以是线程安全的,多线程用到会互斥)
image4