newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
public static final ExecutorService executor = Executors.newSingleThreadExecutor();
static {
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
try {
executor.shutdown();
} catch (Exception e) {
e.printStackTrace();
}
}
}));
logger.info("executor 线程池启动成功!");
}