is because there
is no one-size-fits-all way of doing so.  One common approach is, as
in the case of the event loops provided by this library, to apply
throttling to threads which add tasks by enforcing a wait in their
thread of execution when the level of queued tasks reaches too high a
level, so hindering their ability to add new ones.  However this is
counter productive where it is a task running on the thread pool which
is adding the new tasks, particularly with a thread pool having only a
few threads r