Ich hätte noch ne schmutzige Variante:
Man könnte doch über ein Map (zB eine Hashmap) Objektzeigern eine Critical Section zuordnen und dann
lock und
unlock doch über Class Helper einführen (Die Map sollte dann ihre eigene Critical Section haben bzw. Thread-safe sein.)