package com.gkhy.hazmat.framework.manager;
|
|
import cn.hutool.extra.spring.SpringUtil;
|
import com.gkhy.hazmat.common.utils.Threads;
|
|
import java.util.TimerTask;
|
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.TimeUnit;
|
|
/**
|
* 异步任务管理器
|
*/
|
public class AsyncManager {
|
/**
|
* 操作延迟10ms
|
*/
|
private final int OPERATE_DELAY_TIME=10;
|
/**
|
* 异步操作任务调度线程池
|
*/
|
private ScheduledExecutorService executorService= SpringUtil.getBean("scheduledExecutorService");
|
|
/**
|
* 单例模式
|
*/
|
private AsyncManager(){}
|
|
private static AsyncManager me=new AsyncManager();
|
|
public static AsyncManager me(){
|
return me;
|
}
|
|
public void execute(TimerTask task){
|
executorService.schedule(task,OPERATE_DELAY_TIME, TimeUnit.MILLISECONDS);
|
}
|
|
public void shutdown(){
|
Threads.shutdownAndAwaitTermination(executorService);
|
}
|
}
|