Normally you shouldn't ever hit the thread-max, because the thread-max
is set to a far higher number than your application should normally reach.
If it does, though, the pending thread execute() is queued. Eventually one of the threads will finish and pick up the requested execute().
(Unless you deliberately set the thread-max to something very low, which might mean that all the threads are doing useful things. But there's no good reason to do that. Threads are relatively cheap.)