多线程之线程间的通信
Posted IT编程之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程之线程间的通信相关的知识,希望对你有一定的参考价值。
线程是操作系统中独立的个体,但这些个体如果不经过特殊处理的就不能成为一个整体。线程间的通信就是成为整体的必要方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高cpu利用率的同时还会使 程序员对各个线程任务在处理的过程中进行有效的把控与监督。
线程之间的通信实现方式有多种,本篇介绍一下不使用等待/通知机制实现线程间通信。创建项目实现,在程序中使用sleep()结合while(true)死循环法来实现多个线程之间的通讯,代码如下:
创建MyList.java类
线程类ThreadA.java
线程类ThreadB.java
运行类Run.java
运行结果:
运行结果来看两个线程之间实现了通信,但有一个弊端就是,线程ThreadB.java不停地通过while语句轮询机制来检测某一个条件,这样会浪费cpu资源。如果轮询的时间间隔很小,更浪费cpu资源;如果轮询的时间间隔很大,有可能会取不到想要的数据。所以就需要有一种机制来实现减少cpu的资源浪费,而且还可以实现在多个线程间通信,它就是“wait/notify”机制。下一篇“等待/通知机制”时,重点介绍的就是“wait/notify”机制。
大家在学习过程中遇到过什么问题也欢迎在留言区盖楼讨论!
以上是关于多线程之线程间的通信的主要内容,如果未能解决你的问题,请参考以下文章