文章
28
标签
6
分类
2
主页
博文
分类
标签
归档
生活
说说
相册
友链
0kr's Blog
JavaTutorial09
主页
博文
分类
标签
归档
生活
说说
相册
友链
JavaTutorial09
发表于
2025-02-27
|
更新于
2025-03-01
|
总字数:
0
|
阅读时长:
1分钟
|
浏览量:
文章作者:
Chn_0kr
文章链接:
https://0krblog.yqbirdmp.com/2025/02/27/JavaTutorial09/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
0kr's Blog
!
赞助
微信
支付寶
上一篇
JavaTutorial10
CASAtomic原子类CountDownLatchawait方法的意义是阻塞当前线程,直到之前创立的所有线程都完成了任务对吧。那为什么还是会出现图二的情况呢?根据提供的两张图片,完整的代码如下: 图一代码(Main类): 1234567891011121314151617public class Main { public static void main(String[] args) throws InterruptedException { CountDownLatch cLatch = new CountDownLatch(5); for (int i = 1; i <= 5; i++) { String name = "task_"+i; new Thread(new Runnable() { @Override public void run() { ...
下一篇
JavaTutorial08
Lock接口锁主要是能用来控制多个线程访问共享变量的方式,在Lock接口出现之前,Java主要是靠我们前面介绍的synchronized关键字来实现锁功能的,在Java SE 5之后,开始提供Lock接口来实现锁的功能。他有与synchronized关键字类似的同步功能,只是说有一些差别,Lock需要显式的进行加锁和解锁操作。虽然损失了一些隐式加解锁的便捷性,但是增强了可操作性。另外Lock还提供了一些特有的可中断获取锁。超时获取锁等同步特性。 Lock使用与api接口123456Lock lock = new ReentrantLock(); lock.lock(); try{ }finally{ lock.unlock(); } ·解锁过程放入finally块,确保锁能够被释放·加锁过程不要写在try里面,因为加锁过程如果发生异常,也会进入finally块导致锁无故释放 假设lock 方法放在内部,正常获取锁,finally 就会正常释放锁;但一旦异常,并没有真正拿到锁,此时执行 finally...
评论
Chn_0kr
文章
28
标签
6
分类
2
Follow
公告
Welcome to my Blog!!
--Initialized in 2024.11
最新文章
GameTheroy
2025-03-09
MCUTuTorial01
2025-03-06
JavaTutorial13
2025-03-02
JavaTutorial12
2025-03-02
JavaTutorial11
2025-03-02