java – newCachedThreadPool如何重用线程?

前端之家收集整理的这篇文章主要介绍了java – newCachedThreadPool如何重用线程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

javadoc说Executors.newCachedThreadPool返回的服务重用了线程.这怎么可能?
一个线程只能通过调用start启动一次.那么他们如何实现呢?这个服务的线程是在一个无限循环中运行,它们的Runnable-s是按需更换的吗?

最佳答案
Runnable可以调用另一个Runnable.

每个线程只运行一个主Runnable,但Runnable从共享的BlockingQueue获取Runnables并调用它们直到它关闭.

简化它.

final BlockingQueue

您可以阅读代码以了解它是如何实现的.

猜你在找的Java相关文章