package com.piglet.worker;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class Worker {
private ThreadPoolExecutor taskExecutor;
private static Worker executor = new Worker();
private Worker() {
this.taskExecutor = new ThreadPoolExecutor(1, 1, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
}
public static Worker getInstance() {
return executor;
}
public void addTask(Runnable task) {
if (!this.taskExecutor.isShutdown()) {
this.taskExecutor.execute(task);
}
}
public void shutdown() {
this.taskExecutor.shutdown();
}
}