工序任务指流水线式的工作场景,下一组工人的工件就是上一组工人的成品,一个活做完自己的部分就往下传,直到活完成为止。
为了编程方便简化了各个工序的工时,把它们都当成一样的了。
代码:
package com.sitinspring.autotask.domain;
import com.sitinspring.autotask.util.IdUtil;
/** *//**
* 任务类
*
* @date: 2008-2-25
*/
public class Task implements Comparable {
private String id;
private String name;
// 完成需消耗的工时数
private int manHour;
// 已经完成的工时数
private int completed;
// 接受任务者
private Worker worker;
public Task(String name, int manHour) {
id = IdUtil.generateId();
this.name = name;
this.manHour = manHour;
this.completed = 0;
}
// 任务是否完成
public boolean isCompleted() {
return completed >= manHour;
}
// 添加完成度
public void addCompleted(int n) {
completed += n;
if (isCompleted()) {
completed = manHour;
if (worker != null) {
System.out.println("任务"+this+"处理完毕!");
}
}
}
public int compareTo(Object obj) {
Task another = (Task) obj;
return (another.manHour) - this.manHour;
}
public String toString() {
//return "任务名:" + name ;//+ " 工人名:" + worker.getName() + " 完成度:" + completed* 100 / manHour + "%";
return name;
}
public String getCompletedRatio() {
return " 完成度:" + completed * 100 / manHour + "%";
}
public int getCompleted() {
return completed;
}
public void setCompleted(int completed) {
this.completed = completed;
}
public int getManHour() {
return manHour;
}
public void setManHour(int manHour) {
this.manHour = manHour;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public Worker getWorker() {
return worker;
}
public void setWorker(Worker worker) {
this.worker = worker;
}
}
package com.sitinspring.autotask.domain;
import java.util.LinkedList;
import java.util.List;
/** *//**
* 任务库类
*
* @author sitinspring
*
*/
public class TaskLibrary {
private List<Task> tasks;
private String name;
public TaskLibrary(String name) {
this.name=name;
tasks = new LinkedList<Task>();
}
// 添加单个任务
public synchronized void addTask(Task task) {
tasks.add(task);
printTasks();
notifyAll();
}
// 添加多个任务
public synchronized void addTasks(List<Task> moreTasks) {
tasks.addAll(moreTasks);
printTasks();
notifyAll();
}
/** *//**
* 打印现有任务
*
*/
public void printTasks(){
if(tasks==null){
System.out.println("无任务");
return;
}
StringBuffer sb=new StringBuffer();
for(Task task:tasks){
sb.append(task+",");
}
System.out.println(name+"现有任务:"+sb.toString());
}
public int getTaskSize() {
return tasks.size();
}
// 工人领受任务
public synchronized Task fetchTask(Worker worker) {
while (tasks.size() == 0) {
try {
System.out.println(name+"中任务告罄");
System.out.println(name+"中工人:" + worker.getName() + "进入闲置状态");
wait();
} catch (InterruptedException ex1) {
ex1.printStackTrace();
}
}
Task task = tasks.get(0);
System.out.println("工人:" + worker.getName() + "从"+name+"中取得任务:" + task.getName());
tasks.remove(task);
return task;
}
public String getName() {
return name;
}
}
package com.sitinspring.autotask.domain;
import com.sitinspring.autotask.util.IdUtil;
/** *//**
* 工人类,用于完成一个”活“
* @author sitinspring
*
* @date 2008-2-25
*/
public class Worker implements Runnable {
/** *//**
* 工人ID
*/
private String id;
/** *//**
* 工人名
*/
private String name;
/** *//**
* 当前任务
*/
private Task currTask;
/** *//**
* 未完成工件来源的库
*/
private TaskLibrary srcLib;
/** *//**
* 已完成工件去向的库
*/
private TaskLibrary destLib;
// 工作速度
private int speed;
public Worker(String name, int speed, TaskLibrary srcLib,TaskLibrary destLib) {
id = IdUtil.generateId();
this.currTask = null;
this.name = name;
this.speed = speed;
this.srcLib = srcLib;
this.destLib=destLib;
doWork();
}
// 开始干活
public void doWork() {
Thread thread = new Thread(this);
thread.start();
}
// 真正干活
public void run() {
while (true) {
if (currTask == null || currTask.isCompleted()) {
if(currTask != null && currTask.isCompleted()){
System.out.println("工人:" + name + "向"+destLib.getName()+"中放置任务:" + currTask.getName());
currTask.setCompleted(0);
destLib.addTask(currTask);
}
currTask = srcLib.fetchTask(this);
currTask.setWorker(this);
}
try {
Thread.sleep(1000);// 暂停一秒,模拟现实中的加工过程
System.out.println("工人"+name+"正在处理任务" + currTask + "完成度"
+ currTask.getCompletedRatio() + ".");
currTask.addCompleted(speed);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
}
执行过程:
package com.sitinspring.autotask;
import java.util.LinkedList;
import java.util.List;
import com.sitinspring.autotask.domain.Task;
import com.sitinspring.autotask.domain.TaskLibrary;
import com.sitinspring.autotask.domain.Worker;
public class Test{
public static void main(String[] args){
TaskLibrary firstLib=new TaskLibrary("第一料场(锯木)");
List<Task> tasks=new LinkedList<Task>();
tasks.add(new Task("1.欧式古典家具",14));
tasks.add(new Task("2.现代家具",10));
tasks.add(new Task("3.组装家具",9));
tasks.add(new Task("4.明代家具",17));
tasks.add(new Task("5.办公桌",8));
tasks.add(new Task("6.电脑桌",6));
tasks.add(new Task("7.公司摆架",5));
tasks.add(new Task("8.老板桌",11));
// 向锯木料场添加任务
firstLib.addTasks(tasks);
// 其余三个料场没有任务,等工人把上一个工序的活放过来才有
TaskLibrary secondLib=new TaskLibrary("第二料场(刨木)");
TaskLibrary thirdLib=new TaskLibrary("第三料场(组装)");
TaskLibrary fouthLib=new TaskLibrary("第四料场(喷漆)");
// 打印四个料场当前任务
firstLib.printTasks();
secondLib.printTasks();
thirdLib.printTasks();
fouthLib.printTasks();
// 启动工人线程,开始干活
new Worker("王进喜",1,firstLib,secondLib);
new Worker("时传详",2,firstLib,secondLib);
new Worker("张秉贵",3,secondLib,thirdLib);
new Worker("徐虎",4,secondLib,thirdLib);
new Worker("陈永贵",2,thirdLib,fouthLib);
}
}
执行情况:
第一料场(锯木)现有任务:1.欧式古典家具,2.现代家具,3.组装家具,4.明代家具,5.办公桌,6.电脑桌,7.公司摆架,8.老板桌,
第一料场(锯木)现有任务:1.欧式古典家具,2.现代家具,3.组装家具,4.明代家具,5.办公桌,6.电脑桌,7.公司摆架,8.老板桌,
第二料场(刨木)现有任务:
第三料场(组装)现有任务:
第四料场(喷漆)现有任务:
工人:王进喜从第一料场(锯木)中取得任务:1.欧式古典家具
工人:时传详从第一料场(锯木)中取得任务:2.现代家具
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
第三料场(组装)中任务告罄
第三料场(组装)中工人:陈永贵进入闲置状态
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:0%.
工人时传详正在处理任务2.现代家具完成度 完成度:0%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:7%.
工人时传详正在处理任务2.现代家具完成度 完成度:20%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:14%.
工人时传详正在处理任务2.现代家具完成度 完成度:40%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:21%.
工人时传详正在处理任务2.现代家具完成度 完成度:60%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:28%.
工人时传详正在处理任务2.现代家具完成度 完成度:80%.
任务2.现代家具处理完毕!
工人:时传详向第二料场(刨木)中放置任务:2.现代家具
第二料场(刨木)现有任务:2.现代家具,
工人:张秉贵从第二料场(刨木)中取得任务:2.现代家具
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
工人:时传详从第一料场(锯木)中取得任务:3.组装家具
工人张秉贵正在处理任务2.现代家具完成度 完成度:0%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:35%.
工人时传详正在处理任务3.组装家具完成度 完成度:0%.
工人张秉贵正在处理任务2.现代家具完成度 完成度:30%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:42%.
工人时传详正在处理任务3.组装家具完成度 完成度:22%.
工人张秉贵正在处理任务2.现代家具完成度 完成度:60%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:50%.
工人时传详正在处理任务3.组装家具完成度 完成度:44%.
工人张秉贵正在处理任务2.现代家具完成度 完成度:90%.
任务2.现代家具处理完毕!
工人:张秉贵向第三料场(组装)中放置任务:2.现代家具
第三料场(组装)现有任务:2.现代家具,
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
工人:陈永贵从第三料场(组装)中取得任务:2.现代家具
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:57%.
工人时传详正在处理任务3.组装家具完成度 完成度:66%.
工人陈永贵正在处理任务2.现代家具完成度 完成度:0%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:64%.
工人时传详正在处理任务3.组装家具完成度 完成度:88%.
任务3.组装家具处理完毕!
工人:时传详向第二料场(刨木)中放置任务:3.组装家具
第二料场(刨木)现有任务:3.组装家具,
工人:徐虎从第二料场(刨木)中取得任务:3.组装家具
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
工人:时传详从第一料场(锯木)中取得任务:4.明代家具
工人陈永贵正在处理任务2.现代家具完成度 完成度:20%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:71%.
工人徐虎正在处理任务3.组装家具完成度 完成度:0%.
工人时传详正在处理任务4.明代家具完成度 完成度:0%.
工人陈永贵正在处理任务2.现代家具完成度 完成度:40%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:78%.
工人徐虎正在处理任务3.组装家具完成度 完成度:44%.
工人时传详正在处理任务4.明代家具完成度 完成度:11%.
工人陈永贵正在处理任务2.现代家具完成度 完成度:60%.
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:85%.
工人徐虎正在处理任务3.组装家具完成度 完成度:88%.
任务3.组装家具处理完毕!
工人:徐虎向第三料场(组装)中放置任务:3.组装家具
第三料场(组装)现有任务:3.组装家具,
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
工人时传详正在处理任务4.明代家具完成度 完成度:23%.
工人陈永贵正在处理任务2.现代家具完成度 完成度:80%.
任务2.现代家具处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:2.现代家具
第四料场(喷漆)现有任务:2.现代家具,
工人:陈永贵从第三料场(组装)中取得任务:3.组装家具
工人王进喜正在处理任务1.欧式古典家具完成度 完成度:92%.
任务1.欧式古典家具处理完毕!
工人:王进喜向第二料场(刨木)中放置任务:1.欧式古典家具
第二料场(刨木)现有任务:1.欧式古典家具,
工人:张秉贵从第二料场(刨木)中取得任务:1.欧式古典家具
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
工人:王进喜从第一料场(锯木)中取得任务:5.办公桌
工人时传详正在处理任务4.明代家具完成度 完成度:35%.
工人陈永贵正在处理任务3.组装家具完成度 完成度:0%.
工人张秉贵正在处理任务1.欧式古典家具完成度 完成度:0%.
工人王进喜正在处理任务5.办公桌完成度 完成度:0%.
工人时传详正在处理任务4.明代家具完成度 完成度:47%.
工人陈永贵正在处理任务3.组装家具完成度 完成度:22%.
工人张秉贵正在处理任务1.欧式古典家具完成度 完成度:21%.
工人王进喜正在处理任务5.办公桌完成度 完成度:12%.
工人时传详正在处理任务4.明代家具完成度 完成度:58%.
工人陈永贵正在处理任务3.组装家具完成度 完成度:44%.
工人张秉贵正在处理任务1.欧式古典家具完成度 完成度:42%.
工人王进喜正在处理任务5.办公桌完成度 完成度:25%.
工人时传详正在处理任务4.明代家具完成度 完成度:70%.
工人陈永贵正在处理任务3.组装家具完成度 完成度:66%.
工人张秉贵正在处理任务1.欧式古典家具完成度 完成度:64%.
工人王进喜正在处理任务5.办公桌完成度 完成度:37%.
工人时传详正在处理任务4.明代家具完成度 完成度:82%.
工人陈永贵正在处理任务3.组装家具完成度 完成度:88%.
任务3.组装家具处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:3.组装家具
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,
第三料场(组装)中任务告罄
第三料场(组装)中工人:陈永贵进入闲置状态
工人张秉贵正在处理任务1.欧式古典家具完成度 完成度:85%.
任务1.欧式古典家具处理完毕!
工人:张秉贵向第三料场(组装)中放置任务:1.欧式古典家具
第三料场(组装)现有任务:1.欧式古典家具,
工人:陈永贵从第三料场(组装)中取得任务:1.欧式古典家具
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
工人王进喜正在处理任务5.办公桌完成度 完成度:50%.
工人时传详正在处理任务4.明代家具完成度 完成度:94%.
任务4.明代家具处理完毕!
工人:时传详向第二料场(刨木)中放置任务:4.明代家具
第二料场(刨木)现有任务:4.明代家具,
工人:徐虎从第二料场(刨木)中取得任务:4.明代家具
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
工人:时传详从第一料场(锯木)中取得任务:6.电脑桌
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:0%.
工人王进喜正在处理任务5.办公桌完成度 完成度:62%.
工人徐虎正在处理任务4.明代家具完成度 完成度:0%.
工人时传详正在处理任务6.电脑桌完成度 完成度:0%.
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:14%.
工人王进喜正在处理任务5.办公桌完成度 完成度:75%.
工人徐虎正在处理任务4.明代家具完成度 完成度:23%.
工人时传详正在处理任务6.电脑桌完成度 完成度:33%.
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:28%.
工人王进喜正在处理任务5.办公桌完成度 完成度:87%.
任务5.办公桌处理完毕!
工人:王进喜向第二料场(刨木)中放置任务:5.办公桌
第二料场(刨木)现有任务:5.办公桌,
工人:王进喜从第一料场(锯木)中取得任务:7.公司摆架
工人徐虎正在处理任务4.明代家具完成度 完成度:47%.
工人时传详正在处理任务6.电脑桌完成度 完成度:66%.
任务6.电脑桌处理完毕!
工人:时传详向第二料场(刨木)中放置任务:6.电脑桌
第二料场(刨木)现有任务:5.办公桌,6.电脑桌,
工人:时传详从第一料场(锯木)中取得任务:8.老板桌
工人:张秉贵从第二料场(刨木)中取得任务:5.办公桌
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:42%.
工人王进喜正在处理任务7.公司摆架完成度 完成度:0%.
工人徐虎正在处理任务4.明代家具完成度 完成度:70%.
工人时传详正在处理任务8.老板桌完成度 完成度:0%.
工人张秉贵正在处理任务5.办公桌完成度 完成度:0%.
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:57%.
工人王进喜正在处理任务7.公司摆架完成度 完成度:20%.
工人徐虎正在处理任务4.明代家具完成度 完成度:94%.
任务4.明代家具处理完毕!
工人:徐虎向第三料场(组装)中放置任务:4.明代家具
第三料场(组装)现有任务:4.明代家具,
工人:徐虎从第二料场(刨木)中取得任务:6.电脑桌
工人时传详正在处理任务8.老板桌完成度 完成度:18%.
工人张秉贵正在处理任务5.办公桌完成度 完成度:37%.
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:71%.
工人王进喜正在处理任务7.公司摆架完成度 完成度:40%.
工人徐虎正在处理任务6.电脑桌完成度 完成度:0%.
工人时传详正在处理任务8.老板桌完成度 完成度:36%.
工人张秉贵正在处理任务5.办公桌完成度 完成度:75%.
任务5.办公桌处理完毕!
工人:张秉贵向第三料场(组装)中放置任务:5.办公桌
第三料场(组装)现有任务:4.明代家具,5.办公桌,
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
工人陈永贵正在处理任务1.欧式古典家具完成度 完成度:85%.
任务1.欧式古典家具处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:1.欧式古典家具
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,1.欧式古典家具,
工人:陈永贵从第三料场(组装)中取得任务:4.明代家具
工人王进喜正在处理任务7.公司摆架完成度 完成度:60%.
工人徐虎正在处理任务6.电脑桌完成度 完成度:66%.
任务6.电脑桌处理完毕!
工人:徐虎向第三料场(组装)中放置任务:6.电脑桌
第三料场(组装)现有任务:5.办公桌,6.电脑桌,
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
工人时传详正在处理任务8.老板桌完成度 完成度:54%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:0%.
工人王进喜正在处理任务7.公司摆架完成度 完成度:80%.
任务7.公司摆架处理完毕!
工人:王进喜向第二料场(刨木)中放置任务:7.公司摆架
第二料场(刨木)现有任务:7.公司摆架,
工人:张秉贵从第二料场(刨木)中取得任务:7.公司摆架
第一料场(锯木)中任务告罄
第一料场(锯木)中工人:王进喜进入闲置状态
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
工人时传详正在处理任务8.老板桌完成度 完成度:72%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:11%.
工人张秉贵正在处理任务7.公司摆架完成度 完成度:0%.
工人时传详正在处理任务8.老板桌完成度 完成度:90%.
任务8.老板桌处理完毕!
工人:时传详向第二料场(刨木)中放置任务:8.老板桌
第二料场(刨木)现有任务:8.老板桌,
工人:徐虎从第二料场(刨木)中取得任务:8.老板桌
第一料场(锯木)中任务告罄
第一料场(锯木)中工人:时传详进入闲置状态
工人陈永贵正在处理任务4.明代家具完成度 完成度:23%.
工人张秉贵正在处理任务7.公司摆架完成度 完成度:60%.
任务7.公司摆架处理完毕!
工人:张秉贵向第三料场(组装)中放置任务:7.公司摆架
第三料场(组装)现有任务:5.办公桌,6.电脑桌,7.公司摆架,
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:张秉贵进入闲置状态
工人徐虎正在处理任务8.老板桌完成度 完成度:0%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:35%.
工人徐虎正在处理任务8.老板桌完成度 完成度:36%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:47%.
工人徐虎正在处理任务8.老板桌完成度 完成度:72%.
任务8.老板桌处理完毕!
工人:徐虎向第三料场(组装)中放置任务:8.老板桌
第三料场(组装)现有任务:5.办公桌,6.电脑桌,7.公司摆架,8.老板桌,
第二料场(刨木)中任务告罄
第二料场(刨木)中工人:徐虎进入闲置状态
工人陈永贵正在处理任务4.明代家具完成度 完成度:58%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:70%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:82%.
工人陈永贵正在处理任务4.明代家具完成度 完成度:94%.
任务4.明代家具处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:4.明代家具
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,1.欧式古典家具,4.明代家具,
工人:陈永贵从第三料场(组装)中取得任务:5.办公桌
工人陈永贵正在处理任务5.办公桌完成度 完成度:0%.
工人陈永贵正在处理任务5.办公桌完成度 完成度:25%.
工人陈永贵正在处理任务5.办公桌完成度 完成度:50%.
工人陈永贵正在处理任务5.办公桌完成度 完成度:75%.
任务5.办公桌处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:5.办公桌
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,1.欧式古典家具,4.明代家具,5.办公桌,
工人:陈永贵从第三料场(组装)中取得任务:6.电脑桌
工人陈永贵正在处理任务6.电脑桌完成度 完成度:0%.
工人陈永贵正在处理任务6.电脑桌完成度 完成度:33%.
工人陈永贵正在处理任务6.电脑桌完成度 完成度:66%.
任务6.电脑桌处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:6.电脑桌
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,1.欧式古典家具,4.明代家具,5.办公桌,6.电脑桌,
工人:陈永贵从第三料场(组装)中取得任务:7.公司摆架
工人陈永贵正在处理任务7.公司摆架完成度 完成度:0%.
工人陈永贵正在处理任务7.公司摆架完成度 完成度:40%.
工人陈永贵正在处理任务7.公司摆架完成度 完成度:80%.
任务7.公司摆架处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:7.公司摆架
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,1.欧式古典家具,4.明代家具,5.办公桌,6.电脑桌,7.公司摆架,
工人:陈永贵从第三料场(组装)中取得任务:8.老板桌
工人陈永贵正在处理任务8.老板桌完成度 完成度:0%.
工人陈永贵正在处理任务8.老板桌完成度 完成度:18%.
工人陈永贵正在处理任务8.老板桌完成度 完成度:36%.
工人陈永贵正在处理任务8.老板桌完成度 完成度:54%.
工人陈永贵正在处理任务8.老板桌完成度 完成度:72%.
工人陈永贵正在处理任务8.老板桌完成度 完成度:90%.
任务8.老板桌处理完毕!
工人:陈永贵向第四料场(喷漆)中放置任务:8.老板桌
第四料场(喷漆)现有任务:2.现代家具,3.组装家具,1.欧式古典家具,4.明代家具,5.办公桌,6.电脑桌,7.公司摆架,8.老板桌,
第三料场(组装)中任务告罄
第三料场(组装)中工人:陈永贵进入闲置状态
代码下载:
http://www.blogjava.net/Files/junglesong/AutoTaskAdv20080225224755.rar