赞
踩
ReentrantLock()是已知唯一一个Lock的实现。在上文我们都使用ReentrantLock()作为实现的。关于
在上一节,我们谈到了Lock常用的一些接口方法Lock(),tryLock()等等。实则上Lock还有一个api我们单独拿出来说-condition。每一个线程都可以返回一个condition,可以在代码的其他地方控制同步方法的堵塞和唤醒。
下面直接用一个实例来说明吧:
- package LockApi;
-
- import java.util.concurrent.locks.Condition;
- import java.util.concurrent.locks.Lock;
- import java.util.concurrent.locks.ReentrantLock;
-
- /**
- * Condition提供了比wait()/notity()更加丰富的功能
- * @author monxz
- *
- */
- public class ConditionService {
-
- private Lock lock = new ReentrantLock();
- public Condition condition = lock.newCondition();
-
-
- /**
- * 类似于wait()
- */
- public void await(){
- try{
- lock.lock();
- System.out.println("await的时间为 " + System.currentTimeMillis());
- //当前线程
- condition.await();

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。