Amikor írtad, hogy milyen jók a globális változók többszálúságnál, megállt bennem az ütő.
Még szerencse, hogy hozzátetted, hogy a mutex a globális nálad.
(alapvetően a globális mutexet is kerülni kell, példa: globális usb mutex egyszerre lokkolná az egeret és a pendrive-ot. A legtöbb esetben a pointerezgetés a helyes megoldás, csak azokat a szálakat állítod meg, amelyek ténylegesen érintve vannak)