⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 engine.java

📁 短信网关发送接受平台。
💻 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 + -