Czy w Pythonie dla * nix time.sleep()
blokuje wątek lub proces?
python
multithreading
time
sleep
python-internals
Jeremy Dunck
źródło
źródło
Po prostu uśpi wątek, z wyjątkiem przypadku, gdy aplikacja ma tylko jeden wątek, w którym to przypadku uśpi wątek i skutecznie również proces.
Dokumentacja Pythona dotycząca snu nie precyzuje tego jednak, więc z pewnością mogę zrozumieć zamieszanie!
http://docs.python.org/2/library/time.html
źródło
sleep(3)
mówi: „sleep () powoduje uśpienie wątku wywołującego do upływu sekund sekund lub nadejścia sygnału, który nie jest ignorowany”. I jest błąd w dokumentacji Pythona .Tylko wątek.
źródło
Wątek zostanie zablokowany, ale proces nadal trwa.
W aplikacji z jednym wątkiem oznacza to, że wszystko jest blokowane podczas snu. W aplikacji wielowątkowej blokowany jest tylko wątek, który jawnie „uśpisz”, a pozostałe wątki nadal działają w tym procesie.
źródło
Tylko wątek, chyba że proces ma jeden wątek.
źródło
Sam proces nie jest uruchamialny. Pod względem wykonania proces jest tylko pojemnikiem na wątki. Oznacza to, że nie można w ogóle wstrzymać procesu. Po prostu nie ma zastosowania do procesu.
źródło
sleep
wstrzymuje polecenie.blokuje wątek, jeśli jest wykonywany w tym samym wątku, a nie, jeśli jest wykonywany z kodu głównego
źródło