线程间的通信又称为进程内的通信
wait和notify是Object中的方法
wait(0) 0代表永不超时, Object的wait方法会导致当前的线程陷入阻塞状态,直到其他线程notify或notifyAll...当前线程执行对象的wait方法之后,将会放弃对monitor的所有权,并进入与对象关联的wait set中,一旦线程执行了wait会释放monitor的所有权
notify 唤醒正在执行wait的方法的线程...如果某个线程由于执行wait进入阻塞则会被唤醒,被唤醒需要重新获取对象所关联的monitor的lock才能继续执行
wait方法是可中断的方法,当前线程调用了wait方法进入了阻塞状态,其他线程可以使用...多线程通信
notify 是唤醒阻塞线程中的一个,但是notifyAll 可以唤醒全部的阻塞线程,同样的是被唤醒的线程需要争抢monitor的锁.
public void offer(Event event...}
}
@Override
public void unlock() {
synchronized (this){
//如果当前线程是获取到锁的线程