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

📄 sendreqthread.java

📁 pk_Total - 相同msg_Id消息总条数 pk_Number - 相同msg_Id的消息序号 registered_Delivery - 是否要求返回状态报告 msg_Level - 信
💻 JAVA
字号:
package demo.cngpdemo;import java.util.Date;/** * Title:        短信网关 * Description:  提供通过中国移动短信协议CMPP收发短信的能力。 * Copyright:    版权所有:华为技术有限公司/Copyright (c) 2001 HUAWEI TECHNOLOGIES CO. LTD. * Company:      华为技术有限公司 * @author * @version 1.0 */public class SendReqThread extends Thread {   /** 该线程存活标志,kill()方法将该标志置为false。*/  private boolean alive = true;  /** 该类的所有子类对象均创建到这个线程组中。*/  public static final ThreadGroup tg = new ThreadGroup("Req-thread");  /** Demo的对象*/  private MyCngpDemo myDemo = null;  /**线程执行的任务的运行长度,单位是毫秒*/  private long timeLong=0;  private int sleepInterval = 0;  private boolean IsSleep = false;  /**   * 构造函数,提供一个线程名参数。构造方法只创建线程,并不启动。   * @param name 线程的名字,为线程起个好名字对调试和日志记录很有帮助。   * @param demo 使用的Demo的对象,所有的线程只使用一个demo   */  public SendReqThread(String name,MyCngpDemo demo,int timelong,int sleepinterval)  {    super(tg,name);    setDaemon(true); //设置成精灵线程(程序在只剩下精灵线程运行时将自动结束)    myDemo = demo;    timeLong = timelong*60*1000;    if(sleepInterval!=0)    {      sleepInterval = sleepinterval*1000;      IsSleep = true;    }  }    /**   * 线程主体,循环运行task()方法,直到调用了kill()方法。   */  public final void run()  {    //生成线程开始执行的时间    long beginTime = new Date().getTime();    while (alive)    {      try      {        myDemo.Task();        if(IsSleep)        {          sleep(sleepInterval);        }        //判断是否超出线程任务执行的时间长度        if(new Date().getTime() - beginTime >= timeLong)        {          //Exit Thread;          break;        }      }      catch (Exception ex)      {        ex.printStackTrace();        break;      }      catch (Throwable t)      {        t.printStackTrace();        break;      }    }  }  /**杀死该线程*/  public void Kill()  {    alive = false;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -