ich hab grad erst angefangen mich mit threads auseinander zu setzen.
das ist quasi die vervielfachung und parallele ausführung von funktionen in einem skript, wenn ich das richtig sehe. möglich dass da noch mehr dahinter steckt.
aber wie bekomm ich die errechneten resultate aus den einzelnen threads möglichst elegant wieder ins hauptprogramm?
die einzige möglichkeit die ich bisher sehe und die auch funktioniert ist das erstellen von temp files in den threads und auslesen und zusammenführen im hauptprogramm.
besteht zum beispiel auch die möglichkeit einen thread einen wert oder eine liste zurückgeben zu lassen, die man dann an eine gemeinsame große im hauptprogramm anhängen kann?
threading, verwerten der ergebnisse aus einzelnen threads...
Am sichersten und wohl auch am einfachsten kann man Threads über `Queue`-Objekte aus dem gleichnamigen Modul kommunizieren lassen.
-
- User
- Beiträge: 120
- Registriert: Montag 4. Juni 2007, 19:19
gibts eine möglichkeit, threads und queue zusammen zu nutzen ohne die verwendung von klassen? das würd mich im moment etwas überfordern.
Wie willst du mit Threads ohne Klassen arbeiten o_0
[wiki=Threading_Beispiel1]Hier[/wiki] ist ein sehr gutes Beispiel von Gerold, soweit ich weiß, bei dem es um threading und queues geht.
Das solltest du dir mal genauer angucken evtl. mal ein paar Sachen an dem Beispiel verändern und testen etc.
[wiki=Threading_Beispiel1]Hier[/wiki] ist ein sehr gutes Beispiel von Gerold, soweit ich weiß, bei dem es um threading und queues geht.
Das solltest du dir mal genauer angucken evtl. mal ein paar Sachen an dem Beispiel verändern und testen etc.
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hallo,
schau mal im Buch "Python in a Nutshell" unter "Threaded Program Architecture" nach oder recherchiere im Internet. Das ist genau das, was Du suchst.
Du brauchst einen Serialisierer (in der Regel auf Basis einer Queue), der neue Arbeitsaufträge einsortiert und geordnet an Threads ausgibt, bzw. die Threads speisen den Ergebnis-Serialisierer und das Hauptprogramm kann die Resultate auslesen.
Hauptprogramm -> Serialisierer -> Arbeitsthread -> Serialisierer -> Hauptp.
...................................................\_ Arbeitsthread _/.................................
Michel
schau mal im Buch "Python in a Nutshell" unter "Threaded Program Architecture" nach oder recherchiere im Internet. Das ist genau das, was Du suchst.
Du brauchst einen Serialisierer (in der Regel auf Basis einer Queue), der neue Arbeitsaufträge einsortiert und geordnet an Threads ausgibt, bzw. die Threads speisen den Ergebnis-Serialisierer und das Hauptprogramm kann die Resultate auslesen.
Hauptprogramm -> Serialisierer -> Arbeitsthread -> Serialisierer -> Hauptp.
...................................................\_ Arbeitsthread _/.................................
Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...