疯狂的狮子li
2020-02-13 2841620be623be15c1832a783136a2b73c2b4424
ruoyi/src/main/java/com/ruoyi/framework/manager/AsyncManager.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.ruoyi.framework.manager;
import java.util.TimerTask;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import com.ruoyi.common.utils.Threads;
import com.ruoyi.common.utils.spring.SpringUtils;
/**
 * å¼‚步任务管理器
 *
 * @author ruoyi
 */
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);
    }
}