?? engine.java~3~
字號:
package utilities;import orderapp.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 + -