📄 engine.java
字号:
package Utilities;
import Config;
/**
* <p>Title: sms_statistics</p>
* <p>Description: InHand XMLCenter 短信服务平台计费统计程序</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: 北京映翰通网络技术有限公司</p>
* @author 韩传俊 shock2000@21cn.com
* @version 1.0
*/
public class Engine extends Thread
{
//引擎状态
// ------------------------------------------------
// RUNNING(运行状态)
// ------------------------------------------------
// | |
// ------------------------------------------------
// ACCELERATE(加速状态) DECELERATE(减速状态)
// ------------------------------------------------
// | |
// ------------------------------------------------
// STOPPED(停止状态)
// ------------------------------------------------
//
public final static int THREAD_ACCELERATE = 0;
public final static int THREAD_RUNNING = 1;
public final static int THREAD_DECELERATE = 2;
public final static int THREAD_STOPPED = 3;
public String engineName;
//引擎状态
public int m_nStatus = THREAD_STOPPED;
public Engine(String strName)
{
super(strName);
this.engineName=strName;
this.setDaemon(true);
}
public boolean isRunning()
{
if(m_nStatus == THREAD_RUNNING)
{
return true;
}
return false;
}
public boolean isStopped()
{
if(m_nStatus == THREAD_STOPPED)
{
return true;
}
return false;
}
public void startup()
{
if(m_nStatus == THREAD_ACCELERATE || m_nStatus == THREAD_RUNNING)
{
return;
}
m_nStatus = THREAD_RUNNING;
start();
}
public void shutdown()
{
if(m_nStatus == THREAD_DECELERATE || m_nStatus == THREAD_STOPPED)
{
return;
}
m_nStatus = THREAD_DECELERATE;
}
public void sleep(int s){
try
{
Thread.sleep(s);
}
catch(Exception e)
{
Config.log.log(e,this.engineName+".sleep : unepected exit !");
}
}
public void sleep()
{
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
Config.log.log(e,this.engineName+".sleep : unepected exit !");
}
}
public void nap()
{
try
{
Thread.sleep(5);
}
catch(Exception e)
{
Config.log.log(e,this.engineName+".nap : unepected exit !");
}
}
public void wait(Engine engine)
{
int nStatus = engine.m_nStatus;
//如果线程已经停止或者已经启动,则不需要再等待状态变化。
if(nStatus == THREAD_STOPPED || nStatus == THREAD_RUNNING)
{
return;
}
//等待线程的状态发生变化。
long lStartTime = System.currentTimeMillis();
while(engine.m_nStatus == nStatus)
{
if(TimeConfig.DEFAULT_WAIT_TIME > 0 &&
System.currentTimeMillis() - lStartTime > TimeConfig.DEFAULT_WAIT_TIME)
{
break;
}
//稍等
nap();
}
}
public String toString(){
return this.engineName;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -