Java并发多线程:JUC - 虚假唤醒

243 阅读1分钟

生产者与消费者实例 《==》数据生产添加者与数据销毁删除者

简单来说就是同时唤醒多个消费者或生产者,为了避免这个问题,线程等待应该总是使用在循环中,如:while

这里同步方式可使用隐式锁synchronized和显示锁Lock

synchronized —> Object.wait()/Object.notify()/Object.notifyAll()

Lock —> Lock.newCondition.await()/.signal()/.signalAll()

Condition是控制线程通信的接口