`
GLOBLE
  • 浏览: 24632 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

java定时器

    博客分类:
  • JAVA
阅读更多
/**
 *获取时间间隔
 *@auther GLOBLE
 */
public class TimerSpace implements Runnable{
	private static long start;
	private static long end;
	private long timeSpace = 30000*2*5;

	private DealRequest dr;
	/**
	 * 启动计时器
	 * @param 
	 * @return 
	 */
	public void start() {
		start = System.currentTimeMillis();
	}
	/**
	 * 停止计时器
	 * @param 
	 * @return 
	 */
	public static void stop() {
		end = System.currentTimeMillis();
	}
	/**
	 * 得到时间间隔
	 * @param 
	 * @return double时间间隔的值S为单位
	 */
	public static double getTime() {
		long time = end - start;
		double t = ((double) time)/1000;
		return t;
	}
	/**
	 * 启动线程
	 * @param 
	 * @return
	 */
	public void prepareTimerSpace(){
		Thread thread = new Thread(this);  
	    thread.start();  
	}
	/**
	 * 启动线程 带参
	 * @param 
	 * @return
	 */
	public void prepareTimerSpace(DealRequest dealRequest){
		this.dr = dealRequest;
		start();
		Thread thread = new Thread(this);  
		thread.start();  
	}
	
	/**
	 * 执行计时线程
	 * @param 
	 * @return 
	 */
	public void run() {
		try {
			Thread.sleep(timeSpace);
			callBack();// 通过回调 开始写日志
			stop();
			System.out.println("**********计时时间为:"+TimerSpace.getTime()+"s  **********");
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
	public void callBack(){
		dr.WTL();
		dr.setTimerSpaceState(true);
		dr = null;
	}
	/**
	 * 设置时间间隔
	 * @param timerSpace 时间间隔
	 * @return 
	 */
	public void setTimerSpace(int timerSpace){
		this.timeSpace = timerSpace;
	}
	
	/**
	 * 测试方法
	 * @param 
	 * @return 
	 */
	public static void main(String[] args) throws InterruptedException {
		TimerSpace ts = new TimerSpace();
		ts.start();
		ts.prepareTimerSpace();
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics