When I look at Java's Thread.State enum, I see that there are following thread states-
NEW, RUNNABLE, WAITING, TIMED_WAITING, BLOCKED and TERMINATED.
I've always read and heard that whenever thread finishes its execution, it terminates. So how ThreadPool manages to renew the existing worker thread after its execution of current task completes? Is there any additional thread state in case of ThreadPool?