Fonction Python sleep () (avec des exemples)

La fonction sleep () suspend (attend) l'exécution du thread courant pendant un nombre de secondes donné.

Python a un module nommé time qui fournit plusieurs fonctions utiles pour gérer les tâches liées au temps. L'une des fonctions les plus populaires parmi elles est sleep().

La sleep()fonction suspend l'exécution du thread actuel pendant un nombre de secondes donné.

Exemple 1: Python sleep ()

  import time print("Printed immediately.") time.sleep(2.4) print("Printed after 2.4 seconds.") 

Voici comment fonctionne ce programme:

  • "Printed immediately" est imprimé
  • Suspend (retarde) l'exécution pendant 2,4 secondes.
  • "Printed after 2.4 seconds" est imprimé.

Comme vous pouvez le voir dans l'exemple ci-dessus, sleep()prend un nombre à virgule flottante comme argument.

Avant Python 3.5 , le temps de suspension réel peut être inférieur à l'argument spécifié pour la time()fonction.

Depuis Python 3.5 , le temps de suspension sera au moins des secondes spécifiées.

Exemple 2: Python crée une horloge numérique

 import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1) 

Dans le programme ci-dessus, nous avons calculé et imprimé l'heure locale actuelle dans la boucle while infinie. Ensuite, le programme attend 1 seconde. Là encore, l'heure locale actuelle est calculée et imprimée. Ce processus se poursuit.

Lorsque vous exécutez le programme, la sortie sera quelque chose comme:

 14:10:50 14:10:51 14:10:52 14:10:53 14:10:54… 

Voici une version améliorée légèrement modifiée du programme ci-dessus.

  import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("", end="", flush=True) time.sleep(1) 

Pour en savoir plus, visitez l'horloge numérique dans le shell Python.

Multithreading en Python

Avant de parler des sleep()programmes multithread, parlons des processus et des threads.

Un programme informatique est un ensemble d'instructions. Un processus est l'exécution de ces instructions.

Un thread est un sous-ensemble du processus. Un processus peut avoir un ou plusieurs threads.

Exemple 3: multithreading Python

Tous les programmes ci-dessus dans cet article sont des programmes à thread unique. Voici un exemple de programme Python multithread.

  import threading def print_hello_three_times(): for i in range(3): print("Hello") def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() 

Lorsque vous exécutez le programme, la sortie sera quelque chose comme:

 Bonjour Bonjour Bonjour Bonjour Bonjour Bonjour 

Le programme ci-dessus a deux threads t1 et t2. Ces threads sont exécutés à l'aide des instructions t1.start()et t2.start().

Notez que t1 et t2 s'exécutent simultanément et que vous pourriez obtenir une sortie différente.

Visitez cette page pour en savoir plus sur le multithreading en Python.

time.sleep () dans les programmes multithread

La sleep()fonction suspend l'exécution du thread actuel pendant un nombre de secondes donné.

Dans le cas de programmes à un seul thread, sleep()suspend l'exécution du thread et du processus. Cependant, la fonction suspend un thread plutôt que l'ensemble du processus dans les programmes multithread.

Exemple 4: sleep () dans un programme multithread

 import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print("Hello") def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Le programme ci-dessus a deux threads. Nous avons utilisé time.sleep(0.5)et time.sleep(0.75)pour suspendre l'exécution de ces deux threads pendant respectivement 0,5 seconde et 0,7 seconde.

Lecture recommandée: Python time.sleep () sleeps thread

Articles intéressants...