Zwei Threads immer abwechselnd ausführen ??
-
Hallo,
ich würde gerne zwei Threads immer abwechelnd ausführen. Wie mache ich denn sowas ??
thread_1_func() { while(true) { /// abwechselnd } } thread_2_func() { while(true) { /// abwechselnd } }
Grüße
-
Naja du musst eine Kommunikation zwischen beiden Threads implementieren. Also eine Art Handshake, mit dem der eine Thread dem jeweils anderen signalisiert, dass er mit seiner Arbeit fertig ist.
-
Die Klasse Monitor oder EventWaitHandle (AutoResetEvent, ManualResetEvent) dürften Dich für dieses Vorhaben interessieren.
-
Also ich benutze eigentlich Mutex um zu synchronisieren.
Leider wird mein Mutex von einem nicht synchronisierten
codeblock aufgerufen. Ich bin mir noch nicht so richtig im Klaren darüber woran das liegt.Wie kann ich denn ein Mutex von zwei unterschiedlichen Threads öffnen und schließen lassen??
-
Siehe hier: http://www.albahari.com/threading/part2.aspx
unter "Two-way signaling"
-
AlexanderKiebler schrieb:
ich würde gerne zwei Threads immer abwechelnd ausführen. Wie mache ich denn sowas ??
Mal was ganz anderes:
Welchen Sinn hat es dann überhaupt zwei Threads zu nehmen, wenn die Arbeit sowieso sequentiell erledigt wird?Grüssli
-
Damit der Benutzer nicht auf die Systemantwort warten muss z.B....
Hat sich aber erledig..Gruss
-
AlexanderKiebler schrieb:
Damit der Benutzer nicht auf die Systemantwort warten muss z.B....
Dann würden die beiden Threads aber nicht immer abwechselnd ausgeführt. Und bei sowas könnte man dann auch auf den
BackgroundWorker
hinweisen.Grüssli