import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock; /**
* 与重入锁相关联的Condition
*/
public class ConditionDemo implements Runnable{
public static ReentrantLock lock = new ReentrantLock();
public static Condition condition = lock.newCondition();
@Override
public void run() {
try {
lock.lock();
condition.await();//使当前线程等待,同时释放当前锁
System.out.println("Thread is going on");
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
lock.unlock();
}
}
public static void main(String[] args) throws InterruptedException{
ConditionDemo t = new ConditionDemo();
Thread t1 = new Thread(t);
t1.start();
Thread.sleep(2000);
//通知线程t1继续执行
lock.lock();//调用signal()的方法时,线程要先获得相关的锁
condition.signal();//唤醒一个在等待中的线程
lock.unlock();//signal()调用后释放相关的锁给被唤醒的线程
}
}

最新文章

  1. DataGrid中的常用属性
  2. 《30天自制操作系统》19_day_学习笔记
  3. Android应用开发SharedPreferences存储数据的使用方法
  4. 连续赋值与求值顺序var a = {n:1};a.x = a = {n:2}; alert(a.x);
  5. paper 113:Bhattacharyya distance
  6. JS引用类型之——RegExp
  7. myeclipseb笔记(4):拷贝文件的相应配置
  8. Handsontable Read-only cells
  9. 结构体的序列和还原(使用Move方法)
  10. 用Maven创建web项目
  11. 【有上下界的网络流】ZOJ2341 Reactor Cooling(有上下界可行流)
  12. ACM 今年暑假不AC
  13. java 获取日期的几天前,几个月前和几年前
  14. Linux Kernel 4.21已更新:优化AMD 7nm Zen2架构
  15. 20190312 Windows上Kafka集群
  16. self asyncio
  17. 安装nodejs
  18. 杭电acm习题分类
  19. Android O 可以上网 提示无法访问网络
  20. Spring Boot 教程demo

热门文章

  1. linux下安装maven私服nexus
  2. 【leetcode】722. Remove Comments
  3. 报数问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
  4. Linux进程管理工具vmstat,iostat,pmap
  5. 【CF1210C】Kamil and Making a Stream(vector,数论,树)
  6. C# 调用windows时间同步服务获取准确时间
  7. opencc模块用langconv替换
  8. oracle 远程访问
  9. "如何用70行Java代码实现深度神经网络算法" 的delphi版本
  10. centosifcfg-eth0文件内容为空