Spring boot 项目优雅关闭while循环线程
编程教程
>
Java
>
Spring
(2981)
2024-11-26 14:39:04
线程池创建
/**
* 队列用线程
* @return
*/
@Bean(name = "queuePool")
public ThreadPoolExecutor queuePool(){
ThreadPoolExecutor pool = new ThreadPoolExecutor(8, 16,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<>(200),
new ThreadPoolExecutor.CallerRunsPolicy());
return pool;
}
while 循环线程创建
public AsynCompute{
@Resource(name = "queuePool")
ThreadPoolExecutor executorService;
@PostConstruct
public void process(){
executorService.execute(()->{
while (true&&!executorService.isShutdown()){
//TODO 具体业务
}
});
}
}
注意点:
executorService.isShutdown()
判断线程池是否关闭状态
http://blog.xqlee.com/article/779.html