The javadoc says that the service returned by Executors.newCachedThreadPool reuses threads. How is this possible?
A thread can only be started once by calling start. So how do they implement it? Threads of this service are running in an infinite loop and their Runnable-s are replaced on demand?
The javadoc says that the service returned by Executors.newCachedThreadPool reuses threads. How is this
Share
An Runnable can call another Runnable.
Each thread runs only one main Runnable, but that Runnable takes Runnables from a shared BlockingQueue and calls these until it is shutdown.
Simplified it does.
You can read the code to see how it really does it.