Ja, sowas hatte ich mir gedacht
Aber das ist überflüssig und verkompliziert die Sache unnötig.
Eine CriticalSection sorgt dafür, das innerhalb selbiger nur ein ThreadKontext aktiv ist.
Innerhalb dieses ThreadKontextes kann eine CS aber beliebig oft betreten werden.
Die CS muss aber auch genauso oft wieder verlassen werden damit diese wieder frei für einen anderen ThreadKontext ist.
Delphi-Quellcode:
FCS.Enter;
FCS.Enter;
TuWas;
FCS.Leave;
FCS.Leave;
Diese Konstrukt funktioniert problemlos, denn wenn die CS betreten werden kann, dann funktioniert auch das zweite Betreten.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)