Seite 1 von 1

Thread Events?

Verfasst: Donnerstag 12. Juli 2007, 10:25
von blubber
Hallo,

ich starte zwei Threads, sagen wir mal Thread A und B. Nun möchte ich auf einen Event in Thread A reagieren, also innerhalb von Thread B.

Sprich:

Thread A setzt Event X

Thread B frägt per if Abfrage, if Event X isSet(), dann mach dies und das...

irgendwie bekomm ich das net hin...kann mir jemand auf die Sprünge helfen?

Verfasst: Donnerstag 12. Juli 2007, 11:18
von EyDu
Ein typisches Beispiel sieht so aus:

Code: Alles auswählen

import threading

event = threading.Event()

class SetThread(threading.Thread):
    def run(self):
        print "do something"
        #done
        event.set()

class WaitThread(threading.Thread):
    def run(self):
        #wait for SetThread
        event.wait()
        print "event is set"

t1 = SetThread()
t2 = WaitThread()
t2.start()
t1.start()

t2.join()

Verfasst: Donnerstag 12. Juli 2007, 12:05
von blubber
danke!
mein Fehler war, dass ich die Events immer innerhalb eines Thread definiert hatte und mit dem anderen Thread darauf zugreifen wollte :oops:

Verfasst: Donnerstag 12. Juli 2007, 15:08
von BlackJack
Das klingt nicht nach einem Fehler. Wo das `Event`-Objekt erzeugt und gespeichert wird, sollte keinen Unterschied machen.