Java定时任务关闭
来源:互联网 发布:淘宝盗图处罚规则2016 编辑:程序博客网 时间:2024/06/06 12:51
创建定时任务时,如果我们不主动去取消定时任务,我们需要的任务内容执行完毕,但定时任务不会关闭。
启动定时任务时,相当于启动一个分线程,
下面写了两种:
一是通过定义参数,创建对象时,将定时器对象传入构造方法,从而确保我们关闭的是我们主动开启的那个任务
二是直接对当前线程进行中断、停止、销毁,后两种已经不推荐使用已经过时了
package timer;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Demo {public static void main(String[] args) throws InterruptedException{works();}/** * 该方法验证的是有参构造方法的Works * 使用定时器取消任务 * 定时器对象如何被继承TimerTask的类获取 * @throws InterruptedException */public static void works() throws InterruptedException {Timer t1 = new Timer();Works w = new Works(t1);t1.schedule(w, 6000);for(int i=5;i>0;i--){Thread.sleep(1000);System.out.println("任务还有"+i+"s"+"开启"+" "+"主线程线程名为:"+Thread.currentThread().getName());}while(true){Date date=new Date();SimpleDateFormat da=new SimpleDateFormat("HH:mm:ss");Thread.sleep(1000);System.out.println(da.format(date)+" "+Thread.currentThread().getName());}}}class Works extends TimerTask{public Timer t;public String TName;/** * 构造方法,获取需要暂停的任务 * @param t1 */public Works(Timer t1) {// TODO Auto-generated constructor stubthis.t = t1;}@Overridepublic void run() {// TODO Auto-generated method stubSystem.out.println("定时任务为:该吃饭了!");System.out.println("定时任务即将关闭!");can1();//can2();}public void can1(){//for(int i=3;i>0;i--)//{//try {//Thread.sleep(1000);////} catch (InterruptedException e) {//// TODO Auto-generated catch block//e.printStackTrace();//}//TName = Thread.currentThread().getName();//System.out.println("倒计时: "+i+"s"+" "+TName);//}//t.cancel();//System.out.println("任务已关闭");int m=10;while(m>0){try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}TName = Thread.currentThread().getName();System.out.println("定时任务仍在继续: "+m+"s"+" "+"定时任务线程名:"+TName);m--;}t.cancel();System.out.println("任务已关闭");}public void can2() {for(int i=3;i>0;i--){try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("倒计时: "+i+"s");}//Thread.currentThread().stop();//Thread.currentThread().destroy();Thread.currentThread().interrupt();System.out.println("任务已关闭");}}
阅读全文
0 0
- Java定时任务关闭
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- Java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- javaweb 定时任务 java定时任务
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- java定时任务 每天定时执行任务
- java定时任务,每天定时执行任务
- Java 定时任务 与 Spring定时任务
- java定时任务,每天定时执行任务
- java定时任务,每天定时执行任务
- java定时任务
- PHP基础类型之浮点型
- 带你轻松搞定时间选择控件原理
- CNN模型压缩方案
- SSDB数据库的基本操作
- PAT-L1-023. 输出GPLT(字符串处理)
- Java定时任务关闭
- 基于拉链法的散列表(c++版)
- JAVA 水仙花数
- 利用数组模拟栈实现简单的表达式中缀转后缀并进行计算
- ImageView宽度填满屏幕,高度自适应
- Count the Colors(区间更新,暴力)
- Problems & Solutions -- 5. divisions in python2 & 3
- xib的屏幕适配问题
- AbstractQueuedSynchronizer类源码解析