Thread Per-Request Thread per-request means that we have a thread dequeuing requests from the queue. For each new request, this manager thread creates a new handler thread, gives it the request, and then forgets about it (almost). The thread termination mechanism is more complex, since we need to join on threads when they exit, which is usually not during pool cleanup. We should avoid generating too many handler threads due to a flood of requests (i.e. "flow control").