Hey,
ich bin gerade dabei ein Programm mit mindestens drei Threads aufzubauen.
Jetzt stehe ich vor der Aufgabe, Daten aus dem einem Thread(Thread 1) in den anderen Thread(Thread 2) zur Weiterverarbeitung zu übertragen.
Jetzt meine Frage, was ist hierfür die einfachste und sicherste Variante?
Ich würde es über einen Funktionspointer machen. Damit meine ich, Thread-1 kriegt bei der Initialisierung einen Funktionspointer(z.B. "SetData(...)") aus dem Thread-2.
Danke und Gruss
george
Zwei Threads, Funktionsaufruf
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo george!george hat geschrieben:Daten aus dem einem Thread(Thread 1) in den anderen Thread(Thread 2) zur Weiterverarbeitung zu übertragen.
Du musst diese Datenübergabe über ein "Thread-Sicheres" Objekt machen. Z.B. über eine ``Queue.Queue``. Dein Zielthread kann z.B. an der Queue warten bis etwas übergeben wurde. Dafür kannst du die Queue an den Thread 1 weitergeben oder einfach eine Methode in der Klasse des Thread 2 dafür heranziehen.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.