没有合适的资源?快使用搜索试试~ 我知道了~
java实现多线程之定时器任务
8 下载量 114 浏览量
2020-08-31
09:01:28
上传
评论 1
收藏 74KB PDF 举报
温馨提示
试读
4页
本篇文章主要介绍了java实现多线程之定时器任务,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
资源推荐
资源详情
资源评论
java实现多线程之定时器任务实现多线程之定时器任务
本篇文章主要介绍了java实现多线程之定时器任务,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一起跟随小编过来看看吧
在Java中Timer是java.util包中的一个工具类,提供了定时器的功能。我们可以创建一个Timer对象,然后调用其schedule方法
在某个特定的时间去执行一个特定的任务。并且你可以让其以特定频率一直执行某个任务,这个任务是用TimerTask来描述
的,我们只需要将要进行的操作写在TimerTask类的run方法中即可。先附上两个小例子一遍让读者了解什么是定时器。接着
再分析其中的一些源码实现。
第一个小例子:
package com.zkn.newlearn.thread;
import java.util.Timer;
import java.util.TimerTask;
/**
* 传统的定时器
* Created by zkn on 2016/11/1.
*/
public class TraditionalTimerTest01 {
public static void main(String[] args){
//TimerTask是Runnable接口的一个实现类是,它是一个抽像类
//schedule是一个重载方法:第一个参数TimerTask的实现类。
// 第二个参数是第一次执行的时间。
// 第三个参数是间隔时间
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("这是一个定时器任务!");
}
},1000,2000);
}
}
第二个小例子:让任务1每隔4秒执行,让任务2每隔2秒执行。依次反复。
package com.zkn.newlearn.thread;
import java.util.Timer;
import java.util.TimerTask;
/**
* Created by zkn on 2016/11/1.
*/
public class TraditionalTimerTest02 {
public static void main(String[] args){
new Timer().schedule(new MyTimerTask01(),4000);
}
private static class MyTimerTask01 extends TimerTask{
@Override
public void run() {
System.out.println("我是TimerTask1,我被执行了!");
new Timer().schedule(new MyTimerTask02(),2000);
}
}
private static class MyTimerTask02 extends TimerTask {
@Override
public void run() {
System.out.println("我是TimerTask2,我被执行了!");
new Timer().schedule(new MyTimerTask01(),4000);
}
}
}
大家一定会很好奇定时器是怎么执行的?接下来我们来看一下Timer中的主要代码。
private final TaskQueue queue = new TaskQueue();
资源评论
weixin_38731145
- 粉丝: 4
- 资源: 941
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功