我在很多地方读到,线程池减少了线程创建开销,从而提高了性能。但是,一旦线程完成执行其 run 方法,它就会进入死亡/终止状态,这意味着它可以再次重新启动。
那么,线程池如何处理线程的释放呢?它是否真的以某种方式保留线程来服务下一个任务,或者每次提交任务时在内部创建新线程?
最佳答案
线程池内部有一个列表,它是在有需求时使用的线程的占位符,并在完成执行时将它们添加到此列表中,或者在终止时创建一个新线程,并根据您是否要求缓存或固定线程池通过增加或减少数量来维护它们。
关于java - 线程池中线程是如何创建和释放的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462260/