java中通用的线程池实例代码中通用的线程池实例代码
java中通用的线程池实例代码,需要的朋友可以参考一下
复制代码 代码如下:
package com.smart.frame.task.autoTask;
import java.util.Collection;
import java.util.Vector;
/**
* 任务分发器
*/
public class TaskManage extends Thread
{
protected Vector<Runnable> tasks = new Vector<Runnable>();
protected boolean running = false;
protected boolean stopped = false;
protected boolean paused = false;
protected boolean killed = false;
private ThreadPool pool;
public TaskManage(ThreadPool pool)
{
this.pool = pool;
}
public void putTask(Runnable task)
{
tasks.add(task);
}
public void putTasks(Runnable[] tasks)
{
for (int i = 0; i < tasks.length; i++)
this.tasks.add(tasks[i]);
}
public void putTasks(Collection<Runnable> tasks)
{
this.tasks.addAll(tasks);
}
protected Runnable popTask()
{
if (tasks.size() > 0) return (Runnable) tasks.remove(0);
else return null;
}
public boolean isRunning()
{
return running;
}
public void stopTasks()
{
stopped = true;
}
public void stopTasksSync()
{
stopTasks();
while (isRunning())
{
try
{
sleep(5);
}