读书人

线程池示范代码请大家多指教

发布时间: 2012-10-28 09:54:44 作者: rapoo

线程池示例代码,请大家多指教
包结构
src
test
TestThreadPool 测试类
thread
ThreadPool 线程池类
WorkThread 工作线程类
TaskMonitorThread 任务监测线程类
TaskTimeOutThread 任务超时监测线程类
task
TaskManager 任务管理器
WorkTask 任务接口
WorkTaskImp 正常任务类
WorkTaskAImp 异常任务类
WorkTaskBImp 超时任务类
event
AbstractEvent 任务事件类
BeginTaskEvent 任务执行开始事件类
EndTaskEvent 任务执行结束事件类
TaskRunTime 任务运行时间类
TaskTimeOutEvent 任务执行超时事件类

源代码

import java.util.*;public class ThreadPool {private LinkedList<Runnable> taskList = null;private boolean closed = false;public ThreadPool() {this.taskList = new LinkedList<Runnable>();for (int i = 0; i < 4; i++) {Thread work = new WorkThread();work.setDaemon(true);work.start();}}public synchronized void addTask(Runnable task) {if (closed)return;if (null == task)return;this.taskList.add(task);notify();}private synchronized Runnable getTask() {while (this.taskList.size() == 0) {try {if (closed)return null;wait();} catch (InterruptedException e) {e.printStackTrace();}}return this.taskList.removeFirst();}public void close() {synchronized (this) {this.closed = true;}}private class WorkThread extends Thread {public void run() {while (true) {Runnable task = null;task = getTask();if (null == task)return;task.run();}}}}


哥们,这个多少年前就存在吧!!!!
54 楼 snowhui 2009-08-31 如果你用是ssh在添加spring ,hibernate ,struts你就可以建连接池。 55 楼 xingzhaozhong 2009-08-31 yangke_love 写道JDK5.0中有相关的线程管理内容,你可以参考下Think In Java 第四版
是这样的,Thinking In Java写的很详细了 56 楼 belover 2009-09-05 贴大段的代码。实在是懒得看。建议:把UML 时序图,活动图,类图。
设计清晰一目了然。细节的实现。就是 技术人员 本身素质的问题了。

还有一点。的确如楼上所说。Think In Java 第四版

读书人网 >软件架构设计

热点推荐