您的位置:首页 > 编程语言 > Java开发

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

伊甸之恋 2019-01-24 12:28 106 查看 https://www.geek-share.com/det

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);

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:

标签: