Java多线程——Condition机制
什么是Condition?
1、Condition的概念
Condition:Condition接口提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式。
当前线程若要调用Condition的相关方法,需要提前获取
到Condition对象关联的锁
,Condition对象是由Lock对象的newCondition()创建出来的。(Condition是依赖于Lock对象的)
等待方法
1、void await() throws InterruptedException;——同Object.wait(),直到被中断或唤醒(死等),如果在等待状态中被其他线程中断会抛出被中断异常;
2、void awaitUninterruptibly();——不响应中断,直到被唤醒(中断也不会返回)<独有>
3、boolean await(long time, TimeUnit unit) throws InterruptedException;——同Object.wait(long timeo