Annyit azért hozzátennék, hogy ez egy elég elavult módja a szálkezelésnek.
Ha sokkal kevésbé elrontható és emellett lényegesen jobban skálázódó szálkezelést szeretnél, érdemesebb szálvédett fifo-kon keresztül kommunikáló szálakat tervezni, amik a fifo-kból jövő "job"-okat hajtják végre.
C++-ban ennek tetejére célszerű létrehozni egy kis framework-öt, ami functor-template-ekkel elfedi ezt sima metódushívásokká.