threadpoolimpl.java

来自「Mina框架http协议简单实现。Mina框架效率与c程序比较接近」· Java 代码 · 共 72 行

JAVA
72
字号
package com.eshore.pubservice.nio.util;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * 线程池实现类.
 * 
 * @author lishuisheng
 * 
 */
public class ThreadPoolImpl implements IThreadPool {

	private int maxThread = 20;

	private int minThread = 10;

	private int timeOut = 3;

	private int queueSize = 10;

	private boolean started = false;

	private ThreadPoolExecutor workThreads;

	public int getMaxThread() {
		return maxThread;
	}

	public int getMinThread() {
		return minThread;
	}

	public int getQueueSize() {
		return queueSize;
	}

	public void setMaxThread(int maxThread) {
		this.maxThread = maxThread;
	}

	public void setMinThread(int minThread) {
		this.minThread = minThread;
	}

	public void setQueueSize(int queueSize) {
		this.queueSize = queueSize;
	}

	public void addWorker(Worker worker) {
		workThreads.execute(worker);
	}

	public Worker getWorker() {
		return null;
	}

	public void initThread() {
		if (started) {
			return;
		}
		ArrayBlockingQueue<Runnable> abq = new ArrayBlockingQueue<Runnable>(
				queueSize);
		workThreads = new ThreadPoolExecutor(minThread, maxThread, timeOut,
                TimeUnit.SECONDS, abq,
                new ThreadPoolExecutor.DiscardOldestPolicy());
		started=true;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?