• Java多线程定时器(Timer)


     1 package com.cn.donleo.thread.timer;
     2 
     3 import java.util.Timer;
     4 import java.util.TimerTask;
     5 import java.util.concurrent.ScheduledExecutorService;
     6 
     7 /**
     8  * @author liangd
     9  * date 2020-11-02 11:10
    10  * code 定时器测试类
    11  */
    12 public class TestTimer {
    13     public static void main(String[] args) {
    14         myTimer();
    15     }
    16 
    17     private static void myTimer() {
    18         //将a改为引用对象,在run方法改变其值
    19         final int[] a = {0};
    20         //可以换用ScheduledExecutorService代替Timer
    21         //多线程并行处理定时任务时,Timer运行多 个TimeTask时,只要其中之一没有捕获抛出的异常,
    22         //其它任务便会自动终止运行,使用ScheduledExecutorService则没有这个问题。
    23         Timer timer = new Timer() {
    24         };
    25         timer.schedule(new TimerTask() {
    26             @Override
    27             public void run() {
    28                 System.out.println(a[0]++);
    29                 if (a[0] == 6) {
    30                     System.out.println("定时器取消");
    31                     timer.cancel();
    32                 }
    33             }
    34             //延时4s,间隔2s再执行一次
    35         }, 4000, 2000);
    36     }
    37 }
    作者:donleo123
    本文如对您有帮助,还请多推荐下此文,如有错误欢迎指正,相互学习,共同进步。
  • 相关阅读:
    taotao-manager-web/pom.xml
    sublime使用说明
    taotao-manager-web(表现层),初始生成pom报错解决
    通用表空间
    InnoDB存储引擎结构介绍
    关于双主
    半同步复制
    基于gtid的复制
    多源复制和级联复制
    MySQL复制进阶
  • 原文地址:https://www.cnblogs.com/donleo123/p/14069980.html
Copyright © 2020-2023  润新知