Java学习总结(1.1.5) 线程通信

精贴 置顶
1734 0
作者:      发布时间: 2020-03-18 11:07:14

线程通信

1)文件共享

2)网络共享

3)共享变量

4)jdk提供的线程协调APl

细分为:

suspend/resume、wait/ notify、park/ unpark

 

wait/ notify:

只能同一对象锁的持有者线程调用

wait方法导致当前线程等待,加入该对象的等待集合中,并且放弃当前持有的对象锁。

notify/ notifyall方法唤醒一个或所有正在等待这个对象锁的线程。

注意:虽然会wait自动解锁,但是对顺序有要求,如果在 notify被调用之后,オ开始wait方法的调用,线程会永远处于 WAITING状态。

 

park/ unpark:

不要求park和 unpark方法的调用顺序。

多次调用 unpark之后,再调用park,线程会直接运行。

但不会叠加,也就是说,连续多次调用ρark方法,第一次会拿到“许可”直接运行,后续调用会进入等待。

 


标签:

每日一句

如果花了足够多的时间考虑你的目标,你就能用自己的心看到、摸到、尝到和闻到那个目标,你不会轻易放弃。实现目标的欲望会给你足够的毅力克服哪怕是最令人生畏的障碍。在真的取得成功之前,你应该已经在头脑中达成目标。这样你就能承受任何暂时的痛苦,实现自己的梦想。

标签云

vue
最近综合
情绪巨婴是什么 12.18
普通蛋糕做法 05.31
玉米烤肠芝士面包做法 05.31
Mysql安装教程 - 绿色版 06.18
我们学习知识为什么总是忘记呢?【学习金字塔】 05.12
Typora开发版⽆法使⽤解决⽅法 05.04
为什么无知者越自信? -- 达克效应 05.10
马斯洛需求层次理论 04.29
随机综合
[vue]npm启动导入/运行vue的项目 08.05
论坛discuz发表主题或回帖的常用代码 10.16
Java学习总结(2.2.2) 责任链模式 04.20
iPhone 6与iPhone 6 Plus正式开放预订 09.17
电商运营主要做什么? 10.08
Java学习总结(2.1.3) NIO非阻塞网络编程三大核心理念 04.17
Java学习总结(1.1.4) 内存屏障和CPU缓存 03.18
eclipse 快捷键大全_最有用快捷键整理 08.18