Thread Events?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Thread Events?

Beitragvon blubber » Donnerstag 12. Juli 2007, 10:25

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?
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Donnerstag 12. Juli 2007, 11:18

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()
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Beitragvon blubber » Donnerstag 12. Juli 2007, 12:05

danke!
mein Fehler war, dass ich die Events immer innerhalb eines Thread definiert hatte und mit dem anderen Thread darauf zugreifen wollte :oops:
BlackJack

Beitragvon BlackJack » Donnerstag 12. Juli 2007, 15:08

Das klingt nicht nach einem Fehler. Wo das `Event`-Objekt erzeugt und gespeichert wird, sollte keinen Unterschied machen.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]