Einzelnen Beitrag anzeigen

messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Array in Thread übergeben

  Alt 7. Jun 2005, 17:38
Woher weißt Du denn, daß auf Deine Daten niemals von beiden Threads zugegriffen wird.
Wie Du schon sagst, hast Du zwei Threads, damit Du sie unabhängig voneinander laufen lassen kannst. Also kannst Du auch nicht garantieren, das sie das nicht tun. Vielleicht erst nach ein paar Stunden oder Tagen Laufzeit....

Also mußt Du den Speicher, auf den beide Threads zugreifen, so verriegeln, daß nur ein Thread drankommt. Dies beschränkt sich ja nur auf die Datenübergabe. Ich würde die Daten zum Speichern in einen Puffer übergeben und dann den Thread in Ruhe schreiben lassen. Die Verriegelungszeit dafür dürfte im Microsekundenbereich liegen, das sollte bei 130 Hz Daten gut ausreichen.

Zur Performance: die Methode synchronize hält den gesamten Thread an, der muß dann auch wieder gestartet werden. Ich gehe davon aus, daß diese Methode wesentlich mehr Overhead-Operationen verursacht als der Schutz des Übergabe-Speicherbereichs mit waitforsingleobject.

Grüße, Messie
  Mit Zitat antworten Zitat