21.与重入锁相关联的Condition
2024-09-06 03:35:43
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()调用后释放相关的锁给被唤醒的线程
}
}
最新文章
- DataGrid中的常用属性
- 《30天自制操作系统》19_day_学习笔记
- Android应用开发SharedPreferences存储数据的使用方法
- 连续赋值与求值顺序var a = {n:1};a.x = a = {n:2}; alert(a.x);
- paper 113:Bhattacharyya distance
- JS引用类型之——RegExp
- myeclipseb笔记(4):拷贝文件的相应配置
- Handsontable Read-only cells
- 结构体的序列和还原(使用Move方法)
- 用Maven创建web项目
- 【有上下界的网络流】ZOJ2341 Reactor Cooling(有上下界可行流)
- ACM 今年暑假不AC
- java 获取日期的几天前,几个月前和几年前
- Linux Kernel 4.21已更新:优化AMD 7nm Zen2架构
- 20190312 Windows上Kafka集群
- self asyncio
- 安装nodejs
- 杭电acm习题分类
- Android O 可以上网 提示无法访问网络
- Spring Boot 教程demo
热门文章
- linux下安装maven私服nexus
- 【leetcode】722. Remove Comments
- 报数问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
- Linux进程管理工具vmstat,iostat,pmap
- 【CF1210C】Kamil and Making a Stream(vector,数论,树)
- C# 调用windows时间同步服务获取准确时间
- opencc模块用langconv替换
- oracle 远程访问
- ";如何用70行Java代码实现深度神经网络算法"; 的delphi版本
- centosifcfg-eth0文件内容为空