您的位置:首页 > 编程语言 > Java开发

java 及 js 简单定时器的使用

2017-11-02 10:39 330 查看
两种js定时器介绍

参考引用博文

设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了);

window.setTimeout([function],[interval])


设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器并没有停止,以后每隔[interval]这么长的时间都会重新的执行对应的方法[function],直到我们手动清除定时器为止;

window.setInterval([function],[interval])


清除定时器:

window.clearInterval(timer1)/window.clearTimeout(time1);


两种清除方式都可以清除通过setTimeout和setInterval设置的定时器

java 两种定时器的介绍

Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,而TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

详细介绍参考博文

Timer 类



import java.util.Timer;

import java.util.TimerTask;

/**
*
*
* 在实现时,Timer类可以调度任务,TimerTask则是通过在run()方法里实现具体任务。 Timer实例可以调度多任务,它是线程安全的。
* 当Timer的构造器被调用时,它创建了一个线程,这个线程可以用来调度任务。 下面是代码:
*
* @author GT
*
*/
public class Task2 {
public static void main(String[] args) {
TimerTask task = new TimerTask() {
@Override
public void run() {
// 定时任务
System.out.println("Hello !!!");
}
};
Timer timer = new Timer();
long delay = 0;
long intevalPeriod = 1 * 1000;
//启动定时任务,
timer.scheduleAtFixedRate(task, delay, intevalPeriod);
} // end of main
}


ScheduledExecutorService 可安排在给定的延迟后运行或定期执行的命令。

ScheduledExecutorService类



ScheduledExecutorService service = Executors
.newSingleThreadScheduledExecutor();
// 第二个参数为首次执行的延时时间,
scheduledFuture = service.schedule(new Runnable() {
@Override
public void run() {
//任务
netError();
}
}, 30,  TimeUnit.SECONDS);

//中断定时器
scheduledFuture.cancel(true);


android Handler.postDelayed 定时器

private Handler handler = new Handler();

handler.postDelayed(new Runnable() {
@Override
public void run() {
//跳转支付成功
Log.e("--InputPasswordActivity","postDelayed");
Intent intent = new Intent(InputPasswordActivity.this,                        PaySuccessActivity.class);
startActivity(intent);
//清除定时器
handler.removeCallbacks(this);
finish();
}
},2*1000);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java javascript 定时器