En Python pour * nix, time.sleep()
bloque-t-il le thread ou le processus?
python
multithreading
time
sleep
python-internals
Jeremy Dunck
la source
la source
Il dormira simplement le thread, sauf dans le cas où votre application n'a qu'un seul thread, auquel cas il dormira le thread et efficacement le processus également.
La documentation de python sur le sommeil ne le précise pas cependant, donc je peux certainement comprendre la confusion!
http://docs.python.org/2/library/time.html
la source
sleep(3)
dit: "sleep () fait dormir le thread appelant jusqu'à ce que les secondes secondes se soient écoulées ou qu'un signal arrive qui n'est pas ignoré." Et il y a un bug de documentation Python .Juste le fil.
la source
Le thread se bloquera, mais le processus est toujours en cours.
Dans une application unique, cela signifie que tout est bloqué pendant que vous dormez. Dans une application multithread, seul le thread que vous "dormez" explicitement bloquera et les autres threads s'exécuteront toujours dans le processus.
la source
Seul le thread à moins que votre processus n'ait un seul thread.
la source
Le processus n'est pas exécutable par lui-même. En ce qui concerne l'exécution, le processus n'est qu'un conteneur pour les threads. Cela signifie que vous ne pouvez pas interrompre le processus du tout. Il n'est tout simplement pas applicable au processus.
la source
sleep
commande mettra en pause.il bloque un thread s'il est exécuté dans le même thread pas s'il est exécuté à partir du code principal
la source