package com.gxx.record.core; import java.util.LinkedList; import java.util.List; import org.apache.log4j.Logger; /** * 线程池 * @author Gxx */ public class ThreadPool { /** * 日志记录器 */ private Logger logger = Logger.getLogger(ThreadPool.class); /** * 线程池 */ private static ThreadPool pool; /** * 总线程数 */ private int totalThread = 5; /** * 工作线程 */ private WorkThread[] workThreads; /** * 任务队列 */ private List taskQueue = new LinkedList(); /** * 构造方法 */ private ThreadPool() { this(5); } /** * 构造方法 * @param totalThread */ private ThreadPool(int totalThread) { logger.info("初始化" + totalThread + "个工作线程开始!"); this.totalThread = totalThread; workThreads = new WorkThread[totalThread]; for(int i=0;i把线程任务放入队列 * @param task */ public void execute(Runnable task) { synchronized(taskQueue) { taskQueue.add(task); taskQueue.notify(); } } /** * 返回总线程数 * @return */ public int getTotalThread() { return totalThread; } /** * 销毁线程池 */ public void destroy() { for(int i=0;i