The process of generating or deleting one thread requires high throughput. And if there are too many threads in operation then they would cause overload to OS. Therefore, in order to minimize the process of generating or deleting a thread as maintaining the number of threads as minimal as possible, you better make a set of specific number of threads, use the set when needed then withdraw the set if it is not needed (This process is called Thread pooling.)
Thread pool is referred to a set consisting of multiple numbers of threads.