public class test{ public static void main(String args[]) { //初始化每个线程要执行的任务 taskList = new ArrayList(); for (int i = 0; i < 10; i++) { taskList.add(new Task(i)); } //定义一个线程 Thread workThread = new WorkThread(taskList, i); workThread.start(); }
}
public class WorkThread extends Thread { private List taskList = null; private int threadId; private Task task; /** * 构造工作线程,为其指派任务列表,及命名线程 ID * @param taskList 欲执行的任务列表 * @param threadId 线程 ID */ public WorkThread(List taskList,int threadId) { this.taskList = taskList; this.threadId = threadId; } public void run() { for (int i = 0; i < taskList.size(); i++) { Task task = (Task) taskList.get(i); task.execute();//-------程序循环时不能住下走,原因是Tase类中的execute() 是个无限循环方法,不 //有好的方法帮忙改造????? }
}
}
public class Task { private boolean run = true; private int taskId; private Vector queueData = null; //任务的初始化方法 public Task(int taskId,int queueId,String taskName {
this.taskId = taskId; queueData = new Vector(); } /** * 执行任务队列 */ public void execute() {