java 及 js 简单定时器的使用
程序员文章站
2022-06-09 09:27:38
...
两种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);
上一篇: 定时器Timer