Add another thread pool, a blocking one, that will wait if the thread pool if busy on the execute level, and not add the task to a queue.