Seite 1 von 1
wait but not sleep
Verfasst: Donnerstag 30. März 2006, 14:37
von topgun_tt
Hallo, ich habe eine Frage über Sleep Funktion.
ich habe ein programm mit zwei Threads implementiert. Die zwei Threads sind unabhängig.
Jetzt soll ein thread 10 Sekunden gestoppt werden, aber andere thread ganz nomal laufen lassen. Mit der Anweisung "Sleep" tut es nicht, weil Sleep Anweisung alle Threads untergebrochen hat. D. h. sowohl thread 1 auch thread 2 werden 10 Sekunden gestoppt.
Hat jemand erfahrungen dazu?
Danke
ben
Re: wait but not sleep
Verfasst: Donnerstag 30. März 2006, 15:22
von gerold
topgun_tt hat geschrieben:Mit der Anweisung "Sleep" tut es nicht, weil Sleep Anweisung alle Threads untergebrochen hat.
Hi Ben!
Das stimmt so nicht ganz.
time.sleep(10) unterbricht nur den Thread, **in** dem dieser Befehl aufgerufen wird. Die anderen Threads laufen weiter.
Siehe:
http://www.python-forum.de/viewtopic.php?p=30311#30311
mfg
Gerold

Noch eine Frage
Verfasst: Freitag 31. März 2006, 17:24
von topgun_tt
Hallo,Gerold
danke für die Antwort. Ich habe immer noch das Problem.
Eigentlich ist mein programm aus einem "Main Programm" und ein "Thread" besteht. Das Thread ist für eine "Blinkleuchte" im GUI verantwortlich. Es blinkt 2 mal pro Sekunde. Das Thread ist unabhängig mit dem "Main Programm"
Wenn ich ein time.sleep(10) im main Progamm eingegeben hätte, würde der "Blinker" stehen bleiben (Es blinkt nicht mehr bis zu 10 Senkunden). Hast du zufällig eine Lösung für es?
Besten Dank im Voraus und schönes Wochenende
ben
Re: Noch eine Frage
Verfasst: Freitag 31. März 2006, 17:42
von gerold
topgun_tt hat geschrieben:Wenn ich ein time.sleep(10) im main Progamm eingegeben hätte, würde der "Blinker" stehen bleiben
Hi Ben!
Die Lösung scheint mir im Moment ziemlich einfach. Erstelle zwei Threads und lasse dein Hauptprogramm so lange warten, bis beide Threads ihren Job beendet haben.
Ein Thread der die Aufgaben erfüllt und ein Thread der den anderen Thread steuert.
Schau dir mal alle Beispiele in diesem Thema genauer an. Vielleicht findest du eine Methode, die dir gefällt.
http://www.python-forum.de/viewtopic.php?t=3869
lg
Gerold

Verfasst: Freitag 31. März 2006, 17:45
von gerold
Zusatz:
Wahrscheinlich ist dein "Hauptprogramm" für die grafische Ausgabe (GUI) zuständig. Wenn du also dein "Hauptprogramm" zum Schlafen verurteilst, wer soll dir dann das Blinken anzeigen?
lg
Gerold
