读书人

【梳理】多线程任务管理器的兑现

发布时间: 2013-07-01 12:33:04 作者: rapoo

【梳理】多线程任务管理器的实现

?
类变量:

?

?工作线程:WorkThread

?

做初始化,线程启动后处于阻塞状态,等待线程池抓取,空闲时交由任务处理

?

?线程Processor任务器:

?

?

从Task管理器中移除就绪任务?

?

TaskManager.processorControllorWait():

?

?WorkThread唤醒,由Porcessor处理任务:

?

WorkThread.toWork()

?

?

?

3、Demo

自定义Task,实现抽象方法getPrimaryKey()

PrimaryKey为task容器的唯一主键

?创建任务管理器和添加任务:

public class MyManager {public static void main(String[] args) {TaskManager mgt = TaskManager.createTaskManager("MyManager", 5, 10 * 1000, new MyTaskProcessor(), 2);mgt.addTask(new MyTask(), TaskManager.HIGH_PRIORITY, Task.STATUS_READY);}}

?

?

?

?

?

?

?

?

读书人网 >软件架构设计

热点推荐