Java怎么使用wait或notify实现线程间通信


这篇文章主要介绍“Java怎么使用wait或notify实现线程间通信”,在日常操作中,相信很多人在Java怎么使用wait或notify实现线程间通信问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么使用wait或notify实现线程间通信”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!当线程调用锁对象的wait() 方法使线程呈等待状态时,调用线程对象的 interrupt() 方法会出现 InterruptedException 异常。执行结果:调用方法notify()一次只随机通知一个线程进行唤醒。执行结果:程序运行的效果如图所示,可以看出方法notify()仅随机唤醒一个线程。当多次调用notify()方法时,会随机将等待wait状态的线程免费云主机域名进行唤醒。更改代码如下:再次运行,程序运行效果如图所示,可以看出所有的线程全部被唤醒。多次调用notify()方法可唤醒全部WAITING中的线程。前面的示例中通过多次调用 notify() 方法来实现唤醒3个线程,但并不能保证系统中仅有3个线程,也就是若notify()方法的调用次数小于线程对象的数量,会出现有部分线程对象无法被唤醒的情况。为了唤醒全部线程,可以使用notifyAll()方法。更改代码如下:再次运行,程序运行效果如图所示,可以看出所有的线程全部被唤醒。带一个参数的wait(long) 方法的功能是等待某一时间内是否有现成对锁进行唤醒,如果超过这个时间则自动唤醒。执行结果:通过执行结果可以看出,在经过5000ms后,线程被唤醒。到此,关于“Java怎么使用wait或notify实现线程间通信”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: php浮点数转化函数是什么

这篇“php浮点数转化函数是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php浮点数转化函数是什么”文章吧。PHP浮点类型取整的函数有很多…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/26 23:14
下一篇 02/26 23:14

相关推荐