The thread pool consists of a number of fixed worker threads that can take tasks from an internal task queue. So if one task ends, the thread does not end but waits for the next task. If you abort a thread, it is automatically replaced.
Look at the documentation for more details.