软件编程
位置:首页>> 软件编程>> java编程>> Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能

Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能

作者:执笔记忆的空白  发布时间:2023-02-24 13:52:03 

标签:java,定时器,延时,加载

java.util.concurrent.ScheduledThreadPoolExecutor 是JDK1 .6之后自带的包,功能强大,能实现定时器和延时加载的功能

各类功能和处理方面优于Timer

1、定时器:

  • ScheduledThreadPoolExecutor  有个scheduleAtFixedRate(command, initialDelay, period, unit) ;方法    

  • command: 执行的线程(可自己New一个)

  • initialDelay:初始化执行的延时时间

  • period: 时间间隔

  • unit : 时间类型(如TimeUnit.SECONDS: 秒的方式执行,TimeUnit.DAYS : 天数的方式执行)

具体代码:


public static void main(String[] args) {
stThread.scheduleAtFixedRate(new Runnable() {
 @Override
 public void run() {
 // TODO Auto-generated method stub
 System.out.println(new Date());
 }
},
 20, 2, TimeUnit.SECONDS);
}

2、延时处理

  • ScheduledThreadPoolExecutor  有个 schedule(callable, delay, unit) ; 方法

  • callable:回调方法

  • delay:延时时间

  • unit:时间类型,同定时器的unit一样

具体代码:


stThread.schedule((RolePrvlegeTask)SpringUtils.getBean("rolePrvlegeTask"), 1, TimeUnit.SECONDS);

来源:https://blog.csdn.net/moneyshi/article/details/45314059

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com