Einzelnen Beitrag anzeigen

Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#1

2 Threads mit Events synchonisiern

  Alt 6. Sep 2005, 10:35
Moin Leute,

wahrscheinlich steht das hier schon mal irgendwo im Thread und ich bin nur zu dämlich die richtigen Suchbegriffe einzugeben.
Hab mir schon das super Thread Tutorial von Luckie angeschaut und ne menge gelernt.
Doch leider hängt es bei mir an einer Kleinigkeit, die für mich unüberwindbar ist.

Mein Programm besteht aus 2 Threads. Der eine guckt die ganze Zeit an dem USB Port, ob Daten ankommen. Der zweite ist für die Visualisierung verantwortlich.

Mein Problem ist diese beiden Threads interagieren zu lassen. Zu diesem Zweck möchte ich Events verwenden. Wenn die Daten ankommen werden diese von dem 2. Thread zwischengespeichert und gefiltert. Anschließend wird der 1. Thread aufgerufen der diese Daten anzeigt. Ich glaube, dass ich falsch auf die Events zugreife, da meine Prozessorauslastung auf 40% steigt.

Ich greife in dem 2. Thread auf das Event des 1. Threads zu.

dwResult := WaitForSingleObject(Form1.FRcvEvent.Handle, INFINITE); Damit, bin ich ja nicht mehr unabhängig, und die Prozesse laufen ja nicht mehr parallel. Soweit mir das mein Verstand sagt und ich das Tutorial richitg verstanden habe.

Würde gerne wissen, wie und wo ich das Event iniatlisiern muss. Ich muss ja irgendwie einen Bezug zwischen den einzelnen Threads herstellen. Hoffentlich hat mich irgendjemand verstanden.

Ich möchte ein Event initalisieren, welches von dem 1. Thread ausgelöst wird und vom 2. ausgelesen. Brauch ich da einen dritten thread, wo die die Events verwaltet werden??

Beispiele wären sehr hilfreich, Danke

Oliver
  Mit Zitat antworten Zitat