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

精贴 置顶
1759 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
随机综合
php 用万网空间,提交数据中出现反斜杠问题 04.13
Java学习总结(2.1.1) TCP/UDP协议 04.17
中间件1.1.1-分布式消息中间件设计篇 04.22
android TextView标签字体加粗的几种方法 04.08
电商运营主要做什么? 10.08
Java学习总结(1.2.1) Java内存模型详解 03.18
Java学习总结(2.2.3) Netty零拷贝机制 04.21
Zebra斑马 888-TT打印机的EPL命令的详细说明 08.31