Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Die gleiche DLL in mehreren Threads verwenden

  Alt 23. Dez 2005, 10:41
Zitat von ste_ett:
Das geht über "kritische Sektionen".

Delphi-Quellcode:
uses SyncObjs;

  CriticalSection: TCriticalSection;


  CriticalSection.Enter;

{  kritischen Quellcode hier rein  }

  CriticalSection.Leave;
Was nützt dir dass, wenn du in Thread A die Funktion D aus der DLL aufrufst, die die globale Variable G um eins erhöht und Thread B auch die Funktion D aus der DLL aufruft, die noch mals die globale Variable G in der DLL um eins inkrementiert und dann Thread A mit der Funktion E aus der DLL die globale Variable G wieder ausliest und auf einmal 2 zurück bekommt anstatt, wie erwartet, eins? Da nützt es dir auch nichts, wenn die beiden Threads nur innerhalb Critical Sections die besagte Funktion D aufrufen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat