⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tasklistthreadlistobserver.java

📁 基于图形化的多线程下载器
💻 JAVA
字号:


import java.util.*;

public class TaskListThreadListObserver extends Thread {
	private ArrayList<MainTaskThread> taskThreadList = null;
	private ArrayList<TaskInfo> taskInfoList = null;
	private boolean run = true;

	public TaskListThreadListObserver(ArrayList taskInfoList) {
		taskThreadList = new ArrayList<MainTaskThread>();
		this.taskInfoList = taskInfoList;
	}

	public void run() {
		while (run) {
			Iterator<TaskInfo> it = taskInfoList.iterator();
			TaskInfo ti = null;
			while (it.hasNext() && !taskInfoList.isEmpty()) {
				ti = it.next();
				switch (ti.getState()) {
				case TaskInfo.TASK_STATE_FINISHED:
				case TaskInfo.TASK_STATE_STOP:
					for (int i = 0; i < taskThreadList.size(); i++) {
						MainTaskThread mtt = (MainTaskThread) taskThreadList.get(i);
						TaskInfo ti2 = mtt.getTaskInfo();
						if (ti2 == ti) {
							mtt.setRun(false);
							taskThreadList.remove(i);
						} else {
							System.out
									.println("thread and taskInfo are not relevant!");
						}
					}
					break;
				case TaskInfo.TASK_STATE_RUN:
					for (int i = 0; i < taskThreadList.size(); i++) {
						MainTaskThread mtt = (MainTaskThread) taskThreadList.get(i);
						TaskInfo ti2 = mtt.getTaskInfo();
						if (ti2 == ti) {
							
						} else {
							MainTaskThread m = new MainTaskThread(ti);
							taskThreadList.add(m);
							m.start();
						}
					}
					break;
				case TaskInfo.TASK_STATE_PAUSE:
					break;

				}
			}
		}
	}

}

⌨️ 快捷键说明

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