/**
*获取时间间隔
*@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();
}
}
java定时器
最新推荐文章于 2023-03-29 15:42:47 发布