package com.shlanbao.tzsc.utils.tools;
|
|
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.Executors;
|
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.TimeUnit;
|
/**
|
* 线程管理
|
* @author Leejean
|
* @create 2015年1月7日下午1:20:18
|
*/
|
public class ThreadManager {
|
|
private static ThreadManager threadManager = null;
|
private ExecutorService executorService = Executors.newCachedThreadPool();
|
private ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(10);
|
|
private ThreadManager(){
|
|
}
|
|
public static ThreadManager getInstance(){
|
if(threadManager == null){
|
threadManager = new ThreadManager();
|
}
|
return threadManager;
|
}
|
|
/***
|
* 新增执行线程
|
* @param command
|
*/
|
public void add(Runnable command){
|
executorService.execute(command);
|
}
|
|
/***
|
* 增加定时执行线程
|
* @param command
|
* @param initialDelay
|
* @param delay
|
* @param unit
|
*/
|
public void addSchedule(Runnable command,int initialDelay,int delay,TimeUnit unit){
|
scheduledExecutorService.scheduleWithFixedDelay(command, initialDelay, delay, unit);
|
}
|
|
public void shutDownThread() {
|
scheduledExecutorService.shutdown();
|
}
|
|
}
|