/**
* 队列用线程
* @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()判断线程池是否关闭状态
版权所有 © 【代码谷】 欢迎非商用转载,转载请按下面格式注明出处,商业转载请联系授权,违者必究。(提示:点击下方内容复制出处)
源文:《Spring boot 项目优雅关闭while循环线程》,链接:https://www.daimagu.com/article/779.html,来源:【代码谷】
评论