package com.jcdm.framework.manager;
|
|
import java.util.TimerTask;
|
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.TimeUnit;
|
import com.jcdm.common.utils.Threads;
|
import com.jcdm.common.utils.spring.SpringUtils;
|
|
/**
|
* 异步任务管理器
|
*
|
* @author jc
|
*/
|
public class AsyncManager
|
{
|
/**
|
* 操作延迟10毫秒
|
*/
|
private final int OPERATE_DELAY_TIME = 10;
|
|
/**
|
* 异步操作任务调度线程池
|
*/
|
private ScheduledExecutorService executor = SpringUtils.getBean("scheduledExecutorService");
|
|
/**
|
* 单例模式
|
*/
|
private AsyncManager(){}
|
|
private static AsyncManager me = new AsyncManager();
|
|
public static AsyncManager me()
|
{
|
return me;
|
}
|
|
/**
|
* 执行任务
|
*
|
* @param task 任务
|
*/
|
public void execute(TimerTask task)
|
{
|
executor.schedule(task, OPERATE_DELAY_TIME, TimeUnit.MILLISECONDS);
|
}
|
|
/**
|
* 停止任务线程池
|
*/
|
public void shutdown()
|
{
|
Threads.shutdownAndAwaitTermination(executor);
|
}
|
}
|