多线程任务调度学习

昨天找到一套多线程任务调度的代码,相当的不错,先把思路总结一下。

 

首先需要有一个任务管理器来管理所有的任务,任务管理器提供添加新任务的接口。

 

然后需要有一个线程池管理器管理所有的线程,线程分三种状态:创建、运行、空闲三种状态,线程可以执行任务Task。

 

主流程通过一个TaskMonitorThread 的任务调度线程来调度任务,方法就是每次从任务队列中获取一个任务,然后再从线程池中取一个线程来执行。

 

另外还有一个TaskTimeOutThread 的任务超时监控线程来监控任务是否超时,这个需要一个存储运行时间的类来支撑。

 

一个线程在开始执行时会触发开始运行的事件,在结束时会触发运行结束的事件,这些事件会将线程重新调整为空闲状态,扔回线程池。

 

学习的代码是:http://www.iteye.com/topic/487152

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值