多线程并发执行---------------管理线程Boss做任务分发,n个Worker线程连续执行获得的任务

本文通过一个示例展示了如何使用多线程并发执行任务。Boss类创建并分发任务,Worker类负责执行任务。每个Worker会检查是否有任务,并在完成任务后获取新的任务。当所有任务都分配并完成时,系统结束工作。
摘要由CSDN通过智能技术生成

事情是这样的:

Boss有很多个Task要做,请了n个Worker来为他工作,Boss取出一个Task给一个Worker,取出第二个Task给下一个Worker......直到每一个Worker都有Task。取得到Task的Worker就开始工作了,Boss会随时检查每个Worker的是否完成的当前的Task,如果完成了,就给他下一个Task,直到这些Task都分发完成,并且Worker都完成了手里的Task,到此就下班了。

 

1.Task是Boss分发给Worker的任务,就是Boss要实例化多个Task对象,每个Task对象要由Worker来调用里面的方法完成这个Task,所以要定义成interface,代码如下:

 

 

1.接下来我们定义Worker类,继承Thread类,重要的是他要持有一个Task对象,当工作开始了,就一直检查自己有没有Task,如果有就执行doTask()方法,完成后释放Task对象,代码如下:

 

 

3.继续完成Boss类,继承Thread类,主要作用是实现Task,分发给Worker,首先要定义n个Worker对象,制定任务(getTask方法),run方法里实现任务分发。现在的任务是这样的:从1输出到500,共500个Task,代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值