taskmanager.java

来自「利用Java Socket写的一段通讯协议」· Java 代码 · 共 60 行

JAVA
60
字号
package com.ict.netcom2.task;

import java.util.*;
import java.io.*;
import com.ict.netcom2.util.*;

public class TaskManager implements Serializable {
	
	private int curTaskId = 1;
	// TODO HashMap
	HashMap<Integer,Task> tasks = new HashMap<Integer,Task>();

	
	public Task getTask(int taskId) {
		return tasks.get(new Integer(taskId));
	}
	/*
	public Task createTask(int startId, long delay, boolean isRoutine,
			TaskParam param) {
		if (startId > 1)
			curTaskId = startId;
		else
			curTaskId = 1;
		return createTask(delay, isRoutine, param);
	}
	*/
	public Task createTask(long delay, boolean isRoutine,
			TaskParam param) {
		
		if (param instanceof HttpPerfTaskParam) {
			HttpPerfTask task = new HttpPerfTask(
					curTaskId++, delay, isRoutine, 
					(HttpPerfTaskParam)param);
			tasks.put(new Integer(task.getId()), task);
			return task;
		}
		else if (param instanceof PasvEthTaskParam) {
			PasvEthTask task = new PasvEthTask(
					curTaskId++, delay, isRoutine, 
					(PasvEthTaskParam)param);
			tasks.put(new Integer(task.getId()), task);
			return task;
		}
		
		return  null;
	}
	
	public static void main(String[] args) {

		TaskManager tm = new TaskManager();
		HttpPerfTaskParam param = new HttpPerfTaskParam(
				30, 80, 60, 2, "www.google.com");
		Task task = tm.createTask(10, false, param);
		
		Shower.showInVal(task.getTaskCode());
		System.out.println(task.getOid());
		
	}
}

⌨️ 快捷键说明

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