/**
* 类描述:工作线程
* @author
* @version
*/
public abstract class WorkThread extends Thread {
/** 最大运行周期*/
protected static final long MAX_RUN_CYCLE = 50L;
/** 最小运行周期*/
protected static final long MIN_RUN_CYCLE = 20L;
/** 线程的名称*/
protected final String threadName;
/** 运行周期 */
protected long maxRunCycle;
/** 线程运行标志 */
protected boolean alive;
/**
* 工作线程初始化
* @param 线程名称
*/
public WorkThread(ThreadGroup group, String name)
{
super(group, name);
threadName = name;
setDaemon(true);
}
/**
* 工作线程运行
*/
public final void run() {
while (alive)
{
doTask();
try {
this.sleep(maxRunCycle);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
/***
* 关闭线程
*/
public void close() {
System.out.println("线程名称:" + threadName +" connection is "+ " closing...");
kill();
}
/**
* 任务工作
*/
public abstract void doTask();
/**
* 线程杀死
*/
public void kill() {
alive = false;
}
/**
* 判断是否活着
* @return alive
*/
public boolean getAlive() {
return alive;
}
/**
* 设定运行线程
* @param alive
*/
public void setAlive(boolean alive) {
this.alive = alive;
}
public long getMaxRunCycle() {
return maxRunCycle;
}
public void setMaxRunCycle(long maxRunCycle) {
this.maxRunCycle = maxRunCycle;
}
}
java学习之路一、工作线程
最新推荐文章于 2022-10-09 15:18:47 发布