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
:-)