In questo tutorial, andremo oltre il tempo Python.metodo sleep (). Nel nostro precedente tutorial, abbiamo esaminato il modulo time, che è la libreria di utilità predefinita per l’esecuzione di varie attività di temporizzazione.
Il tempo Python.il metodo sleep() viene utilizzato per arrestare l’esecuzione del programma/thread corrente per un determinato periodo di tempo.
Il programma / thread corrente non sta essenzialmente facendo nulla in questo periodo di tempo, quindi “dorme” per quel periodo di tempo, prima di riprendere dal suo stato corrente.,
Diamo un’occhiata a come possiamo usare questa funzione.
Tempo Python.sleep () Usage
Questa funzione è una parte del modulotime
quindi la chiamiamo usando la notazione dot come time.dormire(). Dobbiamo prima importare il modulo temporale.
import time
Ora, per interrompere l’esecuzione del programma, dobbiamo specificare il numero di secondi come argomento.,
Output
Going to sleep for 5 secondsWoke up after 5 seconds
Se si prova questo sulla macchina, il programma si fermerà per 5 secondi tra le due uscite, dal momento che sta dormendo per quel tempo.
Possiamo anche specificare il numero di secondi come numero in virgola mobile, quindi possiamo dormire per0.001
secondi (1 millisecondo) o anche0.0000001
secondi (1 microsecondo).
Questo renderà il ritardo il più preciso possibile, entro i limiti di precisione in virgola mobile e di clock.,
Output
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
Per misurare l’ora esatta del sonno, possiamo utilizzare iltime.time()
metodo per avviare un timer. La differenza tra il valore iniziale e il valore finale del timer sarà il nostro tempo di esecuzione.
Proviamo il nostro tempo di sonno effettivo nel programma di cui sopra.
Output
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
Qui, il tempo non è esattamente 2 millisecondi, come puoi vedere. Si tratta di2.071
millisecondi, che è leggermente maggiore di esso.,
Ciò è dovuto ad alcuni ritardi nell’allocazione delle risorse, nella pianificazione dei processi, ecc.
L’entità di questo ritardo sarà diversa poiché non si conosce lo stato esatto del sistema operativo in una particolare istanza di tempo.
Tempo di ritardo variabile per il tempo.sleep ()
Possiamo passare una variabile atime.sleep()
, se si desidera una diversa quantità di ritardo per qualche motivo.,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
Output
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
Ora che abbiamo coperto utilizzando time.sleep()
per il nostro programma, possiamo fare lo stesso per i thread anche.
Usando il tempo Python.sleep () su un thread
Questa è una funzione utile nel contesto del multi-threading, poiché potrebbero essere necessari più thread per attendere che una risorsa specifica venga liberata.
Lo snippet seguente mostra come possiamo fare in modo che più thread attendano e stampino gli output, usando Pythontime.sleep()
.,
Output
Starting Worker Thread....Worker Thread 0Starting Waiter Thread....Waiter thread 10Main thread finished!Worker Thread 1Waiter thread 11Worker Thread 2Waiter thread 12Worker Thread 3Waiter thread 13Waiter thread 14
Qui, l’esecuzione del thread principale (programma) è indipendente dall’esecuzione dei due thread. Quindi, il nostro programma principale è finito per primo, prima di essere seguito dai threadWorker
eWaiter
.
Conclusione
In questo articolo, abbiamo imparato a utilizzare la funzione Pythontime.sleep()
in vari modi.