Einzelnen Beitrag anzeigen

Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: TCriticalSection in allen Methoden neu erstellen?

  Alt 18. Dez 2006, 18:25
Du musst die CriticalSection nur einmal erstellen, und zwar im Constructor deiner Klasse. In den Methoden dann wie du es scheinbar schon machst .Enter und .Leave verwenden. Mehr Arbeit solltest du damit nicht haben.

die CriticalSection sperrt dann einfach für jeden anderen Thread den Zugriff auf die Section, solange bis sie mit .Leave sozusagen wieder für den gebrauch freigegeben wird. Der nächste Thread ruft dann die MEthode auf, in der eben wieder ein .Enter implementiert ist und somit wird die Section wieder geschlossen, das ist alles

Nicht vergessen, die CriticalSection im Destructor der Klasse wieder freigeben

  Mit Zitat antworten Zitat