time.sleep()
Blockiert in Python für * nix der Thread oder der Prozess?
python
multithreading
time
sleep
python-internals
Jeremy Dunck
quelle
quelle
Der Thread wird nur in den Ruhezustand versetzt, außer in dem Fall, in dem Ihre Anwendung nur einen einzigen Thread hat. In diesem Fall wird der Thread und auch der Prozess in den Ruhezustand versetzt.
In der Python-Dokumentation zum Thema Schlaf wird dies jedoch nicht angegeben, sodass ich die Verwirrung durchaus verstehen kann!
http://docs.python.org/2/library/time.html
quelle
sleep(3)
sagt: "sleep () lässt den aufrufenden Thread schlafen, bis Sekunden Sekunden verstrichen sind oder ein Signal eintrifft, das nicht ignoriert wird." Und es gibt einen Python-Dokumentationsfehler .Nur der Faden.
quelle
Der Thread wird blockiert, aber der Prozess läuft noch.
In einer einzelnen Thread-Anwendung bedeutet dies, dass im Schlaf alles blockiert ist. In einer Multithread-Anwendung wird nur der Thread blockiert, den Sie explizit "schlafen", und die anderen Threads werden weiterhin im Prozess ausgeführt.
quelle
Nur der Thread, es sei denn, Ihr Prozess hat einen einzelnen Thread.
quelle
Der Prozess kann nicht von selbst ausgeführt werden. In Bezug auf die Ausführung ist der Prozess nur ein Container für Threads. Das heißt, Sie können den Vorgang überhaupt nicht anhalten. Es ist einfach nicht auf den Prozess anwendbar.
quelle
sleep
Befehl anhalten wird.Es blockiert einen Thread, wenn er im selben Thread ausgeführt wird, nicht, wenn er vom Hauptcode ausgeführt wird
quelle