怎么用CountDownLatch完成LeetCode1114
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"怎么用CountDownLatch完成LeetCode1114",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用CountDownLa
千家信息网最后更新 2025年02月01日怎么用CountDownLatch完成LeetCode1114
本篇内容主要讲解"怎么用CountDownLatch完成LeetCode1114",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用CountDownLatch完成LeetCode1114"吧!
1) CountDownLatch初始化之后设置的计数值在被减到0之后就不能被复原了,而Semaphore可以通过release恢复信号/许可的数量,所以CountDownLatch能解决的问题范畴要小于Semaphore。在用到了semaphore.release这种操作的代码里,我们基本是没办法用CountDownLatch替换Semaphore来解决的。CountDownLatch就如一次性的门栓之于大门,门栓被拉开之后,大门的状态只能是'开'了,我们没有能力再把门关起来。而Semaphore更像是信号灯,我们可以根据需要给出不同的'红'、'绿'(release)信号,因此适用的场景可以更复杂。
所以对于LeetCode多线程练习题,只有1114题可以用CountDownLatch来完成。
2) 另外,从允许、禁止这个方向上讲,Semaphore是信号/许可数量大于0时线程可运行(semapher.acquire不阻塞),对于CoundDownLatch来说则是计数值等于0时线程可运行(countDownLatch.await不阻塞)。
用CountDownLatch完成LeetCode 1114:
public class FooByCDL {
private CountDownLatch cdl2 = new CountDownLatch(1);
private CountDownLatch cdl3 = new CountDownLatch(1);
public FooByCDL() {}
public void first(Runnable printFirst) throws InterruptedException {
printFirst.run();
cdl2.countDown();
}
public void second(Runnable printSecond) throws InterruptedException {
cdl2.await();
printSecond.run();
cdl3.countDown();
}
public void third(Runnable printThird) throws InterruptedException {
cdl3.await();
printThird.run();
}
public static void main(String[] args) {
FooByCDL foo = new FooByCDL();
new Thread(() -> {
try {
foo.third(() -> System.out.print("three"));
} catch (InterruptedException ie) { ie.printStackTrace();}
}).start();
new Thread(() -> {
try {
foo.second(() -> System.out.print("two"));
} catch (InterruptedException ie) { ie.printStackTrace();}
}).start();
new Thread(() -> {
try {
foo.first(() -> System.out.print("one"));
} catch (InterruptedException ie) { ie.printStackTrace();}
}).start();
}
}
到此,相信大家对"怎么用CountDownLatch完成LeetCode1114"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
信号
线程
内容
大门
数量
学习
运行
阻塞
不同
复杂
实用
更深
一次性
代码
信号灯
兴趣
办法
只有
可以通过
场景
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库模式中客户的简称
黑龙江省公安厅网络安全总队
长沙提供分布式存储服务器
网络安全审计系统执行标准
东北网络安全设施
大数据及网络安全自查报告
ntp服务器失灵
广州健康通服务器内部错误
浙江通用软件开发技术指导
民法典网络安全讲解
珠海oa软件开发费用是多少
公安信息网络安全交流
德阳鑫恒盛网络技术有限公司
榆树智能化网络技术售后服务
成考计算机网络技术本科证书
教学管理数据库设计的目的
长沙零点网络技术有限公司
本地数据库没法连接到项目
爱淘拍网络技术有限公司
服务器管理中心怎么打开
任正非网络安全隐私
江西数据库防护箱性价比
数据库 租赁订单设计
网络安全5分钟小品剧本
网络安全涉密资质申请条件
港股科技互联网龙头
hp服务器u盘启动
手机营业厅远程服务器
金蝶数据库误删怎么办
更新redis到数据库