Laden...

Threads synchronisieren

Erstellt von AlfameisterT vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.057 Views
A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 17 Jahren
Threads synchronisieren

Hallo,

ich hänge eigentlich vor einem einfachen Problem.
Ich habe in einem Objekt 2 laufende Threads.

T1 darf nur arbeiten wenn T2 einen definierte Position erreicht hat.

Ich dachte mir das so, T1 setzt ein Flag.
T2 wertet bei jedem Durchgang dieses Flag aus und setzt sich auf sebst gegebenenfalls auf Suspend.

T1 wartet bis T2.ThreadState Suspend ist und setzt seine Arbeit fort.
Ist T1 fertig, Resumed er T2.

Nu bekomm ich aber die Fehlermeldung das Resume von T1 aus nicht möglich ist, da T1 dieses nicht auf Suspend gesetzt hat.

Wie gehe ich da am besten vor?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo AlfameisterT,

verwende eine Semaphore. Forumssuche nach Ampel in meinen Beiträgen.

herbivore

A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 17 Jahren

Danke, mit der Semaphore ManuelResetEvent konnte ich das lösen.
War nur etwas tricky die Startzustände festzulegen, da nicht vorherzusagen war welcher Thread zu erst gestartet wird und beide gleichberechtig sind.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo AlfameisterT,

dafür gibt es entsprechende Konstruktoren, die gleich und sicher die Semaphore in den richtigen Zustand bringen.

herbivore