您的位置:首页 > 其它

多线程(定时器的概述和使用)

2017-05-18 20:52 274 查看
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("炸弹");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程