Thread pooling is the practice of keeping a number of threads alive in a resource pool and reusing them when they finish executing instead of allocating new threads. This may or may not be a good idea depending on the situation and underlying thread model.