zoukankan      html  css  js  c++  java
  • java 多线程Thread 子类 定时器Timer

    定时器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(); //清除所有正在进行的计划任务
        }
    }
  • 相关阅读:
    【LeetCode OJ】Remove Element
    【LeetCode OJ】Remove Duplicates from Sorted Array
    【LeetCode OJ】Swap Nodes in Pairs
    【LeetCode OJ】Merge Two Sorted Lists
    【LeetCode OJ】Remove Nth Node From End of List
    【LeetCode OJ】Two Sum
    【LeetCode OJ】Majority Element
    最长公共子序列问题
    php fopen与file_get_contents的区别
    PHP 技巧集合
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/14703985.html
Copyright © 2011-2022 走看看