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);
ScheduledThreadPoolExecutor实现定时器和延时加载功能
原文地址:http://blog.csdn.net/moneyshi/article/details/45314059