这篇文章给大家介绍java中的线程怎么实现等待与通知,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
关于等待/通知,要记住的关键点是:
必须从同步环境内调用wait()、notify()、notifyAll()方法。线程不能调用对象上等待或通知的方法,除非它拥有那个对象的锁。
wait()、notify()、notifyAll()都是Object的实例方法。与每个对象具有锁一样,每个对象可以有一个线程列表,他们等待来自该信号(通知)。线程通过执行对象上的wait()方法获得这个等待列表。从那时候起,它不再执行任何其他指令,直到调用对象的notify()方法为止。如果多个线程在同一个对象上等待,则将只选择一个线程(不保证以何种顺序)继续执行。如果没有线程等待,则不采取任何特殊操作。
示例代码:
package threadwait;public class ThreadA extends Thread{ public int num = 0; public void run(){ synchronized (this){//在此类对象上实现同步,this指代当前对象 for(int i = 0 ; i < 3 ; ++i) this.num+=i; notifyAll();//通知所有在这个对象上等待的线程开始执行,在这里就是通知TestNotify主线程开始执行 } } public int getNum(){ return this.num; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 在IDEA中如何配置Java开发环境?(IDEA中怎么配置Java开发环境)
- Java NoSQL 分布式部署的具体步骤是怎样的?(java nosql分布式部署如何进行)
- Java 依赖倒置原则的作用究竟是什么?(java依赖倒置的作用是什么)
- Redis客户端日志分析技巧:提升数据监控与性能优化
- Java Quarter 数据校准的详细步骤及技巧(java quarter如何进行数据校准)
- Java 中线程间通信的方法有哪些?(java线程间通信的方法是什么)
- Java 多线程批量处理的方法究竟有哪些?(java多线程批量处理的方法是什么)
- Java 中 BigDecimal 的详细介绍与实用使用方法(java中BigDecimal的介绍及使用)
- 如何通过 JavaScript 事件循环来优化代码?(JavaScript 事件循环如何优化代码)
- 如何用 Java 解析 XML 并获取标签属性值?(java怎么解析xml获取标签属性值)
猜你喜欢
AI推送时光机java中的线程怎么实现等待与通知
后端开发2023-05-31
怎么理解Java线程间通信与等待/通知机制
后端开发2023-06-02
C#怎么实现线程通知
后端开发2023-06-29
Java中怎么实现线程间通信与信号量
后端开发2023-05-30
Java中怎么实现多线程通信
后端开发2023-06-20
怎么在java中实现线程通信
后端开发2023-06-14
怎么在java中实现线程间通信
后端开发2023-05-30
C#手动线程通知怎么实现
后端开发2023-06-29
Java 多线程等待优雅的实现方式之Phaser同步屏障
后端开发2024-04-02
Java中的多线程如何实现线程通信
后端开发2023-05-31
Java中怎么实现线程编程
后端开发2023-06-20
Java中实现线程间通信的实例教程
后端开发2024-04-02
Java中多线程怎么实现
后端开发2023-06-03
Java中怎么使用wait和notify实现线程间的通信
后端开发2023-06-30
怎么在java中实现多线程的互斥与同步
后端开发2023-06-15
咦!没有更多了?去看看其它编程学习网 内容吧