ScheduledThreadPoolExecutor實現定時器和延時載入功能
阿新 • • 發佈:2019-02-17
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);