java中线程的知识05

这里讲线程间的通讯机制。

线程间的通讯就以下几个方法:wait() 使当前线程进入指定对象的等待池。notify()从指定对象等待池中唤醒一个等待线程。notifyAll()从指定对象等待池中唤醒全部线程。

具体的demo见下图:

①首先我们创建了一个共享数据,数据里面有增加数据和减少数据两个方法,数据每增加5个就唤醒所有线程。


②创建两个类,分别生产和消费我们上面提供的数据


③我们创建线程,开始调度。


④结果如下图:


这里的数据并不是我们所理想的5 0 5 0 的数据,因为线程调度的问题,即使唤醒了我们需要的线程,而操作系统没有调度到我们需要的线程,而我们的Producer仍然会继续添加。所以这里我们不关注数据的准确性,只是单纯实现线程间的通信。

Over !


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值