Einzelnen Beitrag anzeigen

Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: Thread: Direkt auf die Form zugreifen?

  Alt 30. Mär 2005, 09:15
Zitat von Mephistopheles:
Zitat von Michael_Bayer:
Sind Pointer eigentlich "Treadsafe"?
Wenn ich zb einen Eintrag in einem VirtualStringTree ändern möchte.
Ich hole mit das Node in der CriticalSection und setze einen Pointer auf seine Daten.

Kann ich jetzt ausserhalb der CriticalSection mit Hilfe des Pointers die Daten verändern? (Wenn kein anderer genau auf das Ziel des Pointers schreiben möchte)
Benutz' einfach InterlockedExchange() oder InterlockedExchangePointer() (eins von beiden war nicht deklariert in meiner Delphiversion) statt "bla := bla2" und schon bist du fein raus
Kann ich hier nicht auch eine CriticalSection benutzen? Falls ja, warum exisitieren dann so viele andere Arten von "Threadsicherung"? Was gibt mit InterlockedExchange, was mir eine Critical Section nicht gibt?
  Mit Zitat antworten Zitat