...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
that the work is complete.
The destructor is used to inform the
that some work has finished. Once the count of unfinished work reaches
run() function is permitted to exit.