DESC
Yield the CPU if all threads are busy or if we didn't get to do any real work
EDESC
Count the number of threads busy when we try to assign work, and if everyone
is busy one yield the CPU (using sched_yield()).
Also check if work has been done, and if not yield the CPU; this is done to
avoid looping in the case where all fds are busy.
