生产者与消费者实例 《==》数据生产添加者与数据销毁删除者
简单来说就是同时唤醒多个消费者或生产者,为了避免这个问题,线程等待应该总是使用在循环中,如:while
这里同步方式可使用隐式锁synchronized和显示锁Lock
synchronized —> Object.wait()/Object.notify()/Object.notifyAll()
Lock —> Lock.newCondition.await()/.signal()/.signalAll()
Condition是控制线程通信的接口