java 多线程Thread 子类 定时器Timer
2024-09-01 20:49:51
定时器Timer,
定时器分类:
- 1,指定时间指定任务(明天早上8点准时提醒我起床),相当于linux里面的at命令
- 2,周期性的执行任务(每隔三分钟闹钟响一次),相当于Linux里面的cron命令
JAVA中使用定时器:
1,Timer,Timer在JAVA中相当于一个任务队列,可以指定在什么时候执行什么样的定时器。下面我们给出一段代码,在指定的时间,执行一个定时器
- schedule(TimerTask, Date):指定一个时间执行任务
- schedule(TimerTask, long):等待多长时间执行任务
- schedule (TimerTask, Date, long):在指定时间之后,每隔多少毫秒执行一次任务
- schedule(TimerTask, long, long):表示在多少毫秒(第二个参数)之后,每隔多少毫秒(第三个参数),执行一次任务。
- cancle();表示把整个任务队列清空
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; /**
* @ClassName ThreadTimerExample
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/4/26.
*/
public class ThreadTimerExample {
public static void main(String[] args) throws InterruptedException {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("打一炮!....");
}
};
// timer.schedule(task,new Date(System.currentTimeMillis() + 5000)); //执行一次,执行完并没有退出,因为是Thread的队列,执行完就无限等待下次任务中
// timer.schedule(task,1000); //等待1000ms后执行一次
// timer.schedule(task,new Date(System.currentTimeMillis() + 5000), 1000);//执行完后间隔后面设置时间死循环执行
timer.schedule(task,2000, 1000);//等待2000ms执行完后,间隔1000ms设置时间死循环执行
Thread.sleep(5000);
System.out.println("清除所有正在进行的计划任务");
timer.cancel(); //清除所有正在进行的计划任务
}
}
最新文章
- x-csrf-token
- [转载]VIM 教程:Learn Vim Progressively
- 3D touch 静态、动态设置及进入APP的跳转方式
- java.lang.ClassNotFoundException: org.junit.Assume$AssumptionViolatedException
- svn使用(服务器端和客户端)
- java文本编辑器5
- session的简单使用
- hdu2112 HDU Today
- 返回变量的类型VarType函数
- Django1.10 release notes摘编
- linux 文件搜索命令
- python 图片相似度
- unity3d俄罗斯方块源码教程+源码和程序下载
- Java字符串和容器
- PLSQL Developer12连接远程Oracle xe 11g
- 复习C#的方法Math.Max和Math.Min
- ubuntu16.10 中安装mysql
- L316 波音737Max 危机
- GetPostBackEventReference加RaisePostBackEvent实现自定义控件中回调传参
- [转]Javascript原型继承
热门文章
- 智能 Request 推荐,K8s 资源利用率提升 252%
- HCNP Routing&;Switching之组播技术-组播地址
- Identity Server 4 从入门到落地(一)—— 从IdentityServer4.Admin开始
- 洛谷 P6624 - [省选联考 2020 A 卷] 作业题(矩阵树定理+简单数论)
- Docker-Mysql-proxy Mysql Proxy实现读写分离
- Redis源码解析(1)
- JAVA中null,";";,equals,==相互之间使用详解
- lua_newthread的真正意义
- 巩固javaweb第十七天
- Centos7部署RabbitMQ的镜像队列集群