定时器Timer以及TimerTask
来源:互联网 发布:大学数据新闻比赛 编辑:程序博客网 时间:2024/05/09 19:21
package cn.limbo.task.timerTest2;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * 测试TimerTask类的cancel方法 */public class Run2 { //TimerTask中的cancel方法是将自身从任务队列中清除 static public class MyTaskA extends TimerTask { @Override public void run() { System.out.println("A运行了! 时间为: " + new Date()); this.cancel(); } } static public class MyTaskB extends TimerTask { @Override public void run() { System.out.println("B运行了! 时间为: " + new Date()); } } public static void main(String[] args) throws ParseException { final MyTaskA myTaskA = new MyTaskA(); final MyTaskB myTaskB = new MyTaskB(); final Timer timer = new Timer(); final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); final String dateString1 = "2017-12-19 10:23:10"; final Date date1 = sdf.parse(dateString1); System.out.println(" 字符串时间 : " + date1.toLocaleString() + " 当前时间 : " + new Date().toLocaleString()); timer.schedule(myTaskA, date1, 4000); timer.schedule(myTaskB, date1, 4000); /*字符串时间 : 2017-12-19 10:23:10 当前时间 : 2017-12-19 10:35:27 A运行了! 时间为: Tue Dec 19 10:35:27 CST 2017 B运行了! 时间为: Tue Dec 19 10:35:27 CST 2017 B运行了! 时间为: Tue Dec 19 10:35:31 CST 2017 B运行了! 时间为: Tue Dec 19 10:35:35 CST 2017 B运行了! 时间为: Tue Dec 19 10:35:39 CST 2017 B运行了! 时间为: Tue Dec 19 10:35:43 CST 2017*/ }}/** * Timer 类中的cancel方法不同 * 注意事项 : cancel方法有时并不会停止任务,而是正常执行 * 有时并不会拿到 queue 锁 */class Run3 { private static Timer timer = new Timer(); static public class MyTaskA extends TimerTask { @Override public void run() { System.out.println("A 运行时间为: " + new Date()); timer.cancel(); System.out.println(" 把任务队列中的全部任务都清空了 , 当前线程停止 "); } } static public class MyTaskB extends TimerTask { @Override public void run() { System.out.println("B 运行时间为: " + new Date()); } } public static void main(String[] args) throws ParseException { final MyTaskA myTaskA = new MyTaskA(); final MyTaskB myTaskB = new MyTaskB(); final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); final String dateString1 = "2017-12-19 10:23:10"; final Date date1 = sdf.parse(dateString1); timer.schedule(myTaskA, date1, 2000); timer.schedule(myTaskB, date1, 2000); }}
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * 01 schedule(TimerTask task, Date firstTime, long period) 的测试 * */public class Run { static public class MyTask extends TimerTask { @Override public void run() { System.out.println(" 运行时间是: " + new Date()); } public static void main(String[] args) throws ParseException { /** * <B>功能简述</B><br> * * 计划时间晚于当前时间 等到时间执行 顺序执行 * 计划时间早于当前时间 立即执行 顺序执行 * 计划时间被耽搁 等到时间执行 顺序执行 * */ final MyTask myTask = new MyTask(); final Timer timer = new Timer(); final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); final String dateString1 = "2017-12-19 10:23:10"; final Date date1 = sdf.parse(dateString1); System.out.println(" 字符串时间 : " + date1.toLocaleString() + " 当前时间 : " + new Date().toLocaleString()); timer.schedule(myTask, date1, 4000);//循环的间隔 不支持cron } }}
阅读全文
0 0
- 定时器Timer以及TimerTask
- Java定时器timer以及timerTask
- Timer TimerTask 定时器线程
- timer+timertask 制作定时器
- android定时器Timer与TimerTask
- java定时器--TimerTask 与 Timer
- JAVA定时器Timer&TimerTask剖析
- JAVA定时器 (Timer TimerTask)学习
- Timer定时器、TimerTask、Random随机数
- 定时器实现:Handler+Timer+TimerTask
- 定时器 Timer和TimerTask详解
- 定时器应用:Timer和TimerTask类
- 04____定时器(Timer和TimerTask)
- 传统定时器技术 Timer and TimerTask
- Java笔记:Java定时器Timer和TimerTask
- 【java】定时器 Timer和TimerTask类
- java中定时器Timer/TimerTask的使用方法
- Timer和TimerTask线程定时器用法
- 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
- linux 命令less
- python核心编程第二版第一章学习笔记
- Unity的转盘代码
- 127.0.0.1和0.0.0.0地址的区别
- 定时器Timer以及TimerTask
- C# 类型转换 (TryParse)
- 域名跳转
- Spring配置多数据源在配置事物后无效完美解决方案
- linux压缩和解压缩命令大全
- Texlive + TexStudio 写 latex 很是方便
- android 封装Log
- 【VS报错】fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h
- shell 脚本中,grep无法读取前一个命令结果输出的一个原因