package test53;
import java.util.Timer;
import java.util.TimerTask;
/***
* 多线程(定时器的概述和使用)
* 定时器是一个应用十分广泛的线程工具,可以调度多个定时任务以后台线程的方式执行,
* 在java中,可以通过Timer和TimerTask类来实现定义调度的功能
*
* Timer
* public Timer()
* public void schedule(Timer task,long delay)
* public void schedule(TimerTask task,long delay,long period)
*
* TimerTask
* public abstract void run()
* public boolean cancel()
*
* 开发中
* Quartz是一个完全由java编写的开源调度框架。
*
* @author samsung
*
*/
public class dingshiqi {
public static void main(String[] args) {
//创建定时器对象
Timer t=new Timer();
//3秒后执行任务,但是不结束线程
// t.schedule(new Mytask(), 3000);
//结束线程,run方法中加了cancel()
t.schedule(new Mytask(t),3000);
}
}
//做任务
class Mytask extends TimerTask {
private Timer t;
public Mytask() {};
public Mytask(Timer t) {
this.t=t;
}
public void run() {
// TODO Auto-generated method stub
System.out.println("炸弹");
t.cancel();//结束任务
}
}
package test54;
/**
* 多线程(定时任务的多次执行代码体现)
*/
import java.util.Timer;
import java.util.TimerTask;
public class dingshiqi2 {
public static void main(String[] args) {
//创建定时器对象
Timer t=new Timer();
//3秒后执行任务,如果不成功,每隔2秒再来一次
t.schedule(new Mytask(), 3000,2000);
}
}
//做任务
class Mytask extends TimerTask {
public void run() {
// TODO Auto-generated method stub
System.out.println("炸弹");
}
}
多线程(定时器的概述和使用)
最新推荐文章于 2024-07-27 18:37:30 发布