方式一
初始化线程池:
方法一:private ExecutorService executorService=Executors.newFixedThreadPool(1);
方法二:private static ExecutorService executorServiceSingle = Executors.newSingleThreadExecutor();
异步执行任务:
方法一:executorService.submit(new Runnable() {
public void run() {
System.out.println(Thread.currentThread().getName()+" <--> "+wholeMsg.toString());
}
});
方法二:executorService.submit(new <? implements Runnable>);
销毁线程池:
executorService.shutdown();
方式二:
注入:
@Autowired private TaskExecutor taskExecutor;
taskExecutor.execute(() -> {
logger.info("Real thread begin to execute!");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
logger.error("Real thread was interrupted!", e);
return;
}
logger.info("Real thread has been executed!");
});
方式三:使用 @Async注解