1:传统方法
利用同步代码块+wait()+notifyAll()+notify()
2利用Condition实现:
eg:代码示例
class
{
private final Lock lock = new ReentranLock();
private final Condition cond = lock.newCondition();
//do more
lock.lock();
try{
if(statement)
cond.awiat();//do other
else
cond.sinanalAll();//do other
}
finally { lock.unLock();}
}
3:利用阻塞队列
通过向队列put()和take()数据来实现经典消费者-生产者模型
生产者,向集合put()元素
消费者,从集合take()元素