关于线程池的操作,谷歌的Guava库有这么一个方法
MoreExecutors.getExitingExecutorService
这个方法的作用:设置线程池的ThreadFactor,让产出的所有线程都是daemon线程。并且在虚拟机退出时,对线程池发送shutdown指令,然后再等待一段时间(默认120s,可自定义),当线程池任务执行完毕或者倒计时结束时,线程池就会退出。这个基本上可以保证线程处理可以正确退出。
例如上图代码,如果不执行15行的方法,则24行的代码根本得不到执行Java虚拟机就已经退出了。
原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2449