Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能
java.util.concurrent.ScheduledThreadPoolExecutor是JDK1.6之后自带的包,功能强大,能实现定时器和延时加载的功能
各类功能和处理方面优于Timer
1、定时器:
- ScheduledThreadPoolExecutor 有个scheduleAtFixedRate(command,initialDelay,period,unit);方法
- command:执行的线程(可自己New一个)
- initialDelay:初始化执行的延时时间
- period:时间间隔
- unit:时间类型(如TimeUnit.SECONDS:秒的方式执行,TimeUnit.DAYS:天数的方式执行)
具体代码:
publicstaticvoidmain(String[]args){ stThread.scheduleAtFixedRate(newRunnable(){ @Override publicvoidrun(){ //TODOAuto-generatedmethodstub System.out.println(newDate()); } }, 20,2,TimeUnit.SECONDS); }
2、延时处理
- ScheduledThreadPoolExecutor 有个 schedule(callable,delay,unit);方法
- callable:回调方法
- delay:延时时间
- unit:时间类型,同定时器的unit一样
具体代码:
stThread.schedule((RolePrvlegeTask)SpringUtils.getBean("rolePrvlegeTask"),1,TimeUnit.SECONDS);
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接