What is the advantage of using ExecutorService over running threads passing a Runnable into the Thread constructor?
ExecutorService
Runnable
Thread
Below are some benefits: