首页 > 其他分享 >定时器:ScheduledExecutorService

定时器:ScheduledExecutorService

时间:2022-11-30 12:45:25浏览次数:33  
标签:定时器 java ScheduledExecutorService util import new public

方式二: ScheduledExecutorService

ScheduledExecutorService定时器
ScheduledExecutorService是 jdk1.5中引入了并发包,目的是为了弥补Timer的缺陷, ScheduledExecutorService内部为线程池。

ScheduledExecutorService的优点
1、基于线程池,某个任务的执行情况不会影响其他定时任务的执行。

package com.itheima.d9_timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
    目标:Timer定时器的使用和了解。
 */
public class TimerDemo2 {
    public static void main(String[] args) {
        // 1、创建ScheduledExecutorService线程池,做定时器
        ScheduledExecutorService pool = Executors.newScheduledThreadPool(3);

        // 2、开启定时任务
        pool.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "执行输出:AAA  ==》 " + new Date());
                try {
                    Thread.sleep(100000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }, 0, 2, TimeUnit.SECONDS);


        pool.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "执行输出:BBB  ==》 " + new Date());
                System.out.println(10 / 0);
            }
        }, 0, 2, TimeUnit.SECONDS);


        pool.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "执行输出:CCC  ==》 " + new Date());
            }
        }, 0, 2, TimeUnit.SECONDS);

    }
}

  

 

标签:定时器,java,ScheduledExecutorService,util,import,new,public
From: https://www.cnblogs.com/popopopopo/p/16938066.html

相关文章

  • 定时器:Timer
    定时器定时器是一种控制任务延时调用,或者周期调用的技术。作用:闹钟、定时邮件发送。定时器的实现方式方式一:TimerTimer定时器Timer定时器的特点和存在的问题1、Timer是......
  • 0108-Go-定时器
    环境Time2022-08-24Go1.19前言说明参考:https://gobyexample.com/tickers目标使用Go语言的定时器。示例packagemainimport("fmt""time")fu......
  • STM32CubeMX之定时器PWM输出
    STM32CubeMX之定时器PWM输出1.知识百科--PWM简介    ​    PWM是一种对模拟信号电平进行​​​​数字编码​​​​​的方法。通过高​​​​分辨率​​​​计......
  • stm32f030f4p6_定时器1应用
    坑人的PDF框图显示TIM1,2,3,6,14,15,16,17都在APB1上,然而它却在APB2才可以运行。可是在PDF框图和STM32CubeMX中都找不到APB2的存在却在stm32f0xx_rcc.h中找到了APB2的踪......
  • 303-Air724UG(4G全网通GPRS)开发-定时器
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/LearnAir724UG"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 程序......
  • BOM_window定时器方法和案例2_轮播图
    BOM_window定时器方法:与定时器有关的方式:setTimeout():在指定的毫秒数后调用函数或计算表达式。参数:1.js代码或者方法对象2.毫秒值返回值:唯一标识,用于取消定时器clearT......
  • java上位机开发(定时器使用)
    在实际开发中,我们发现有一些任务需要周期性的完成,比如说数据库的检查、设备的检查、状态的检查、变量的检查等等。这个时候就会使用到定时器。在javaswing中,因为本身已经集......
  • win32开发(定时器)
      要说除了鼠标、键盘消息之外,还有什么消息最重要。我想大概是就是定时器了。这定时器可长可短,如果是短定时器的话,那么就可以形成动画,记录成视频。如果是长定时器的话,那......
  • 随想录(编写用户侧定时器)
       定时器是我们在平时开发中经常使用到的工具,特别是在协议的编写上更是必不可少的组成部分。虽然系统本身给我们提供了定时器,但是有的时候,我们也想自己编写一个粗粒度......
  • Go语言中,定时器有 2种 实现方法,分别是什么 ?
    商务合作加微信:LetsFenggoland全家桶激活码,支持所有版本,支持所有系统链接:http://web.52shizhan.cn/activity/s2abxc提取码:GJF9B1DK 现在就开始你的Go语言学习之旅......