线程同步:Condition

使用Synchronized关键字(synchronized方法或者synchronized代码块)来保证线程间同步,则系统中存在同步监视器(显式或者隐式),可以使用wait()、notify()、notifyAll()来协调线程通信。

但是当我们直接使用Lock对象来保证同步的话,则系统中就不存在同步监视器一说。也就不能使用上述的几个方法。

那怎么办呢?

当使用Lock对象保证同步的话,JAVA提供了一个Condition的类来协调线程通信。这个Conditon对象必须要绑定到一个Lock对象上。

Lock lock = new ReentrantLock();
Condition cond = lock.newCondition();

类似于Synchronized关键字提供的那些方法,Condition类也提供了一些方法来协调线程间通信。

await()

signal()

signalAll()

这三个方法的作用与之前的那三个方法类似。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值