Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Sommeil Python()

Veille Python()

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

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 populaires parmi elles est sleep() .

Le sleep() la fonction suspend l'exécution du thread en cours 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 ce programme fonctionne :

  • "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 le time() fonction.

Depuis Python 3.5 , le temps de suspension sera d'au moins les 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. Encore une fois, l'heure locale actuelle est calculée et imprimée. Ce processus continue.

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

02:10:50 PM
02:10:51 PM
02:10:52 PM
02:10:53 PM
02:10:54 PM
... .. ...

Voici une meilleure version 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("\r", end="", flush=True)
  time.sleep(1)

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

Multithreading en Python

Avant de parler de sleep() dans les programmes multithreads, 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 :


Hello
Hello
Hi
Hello
Hi
Hi

Le programme ci-dessus a deux threads t1 et t2 . Ces threads sont exécutés en utilisant t1.start() et t2.start() déclarations.

Notez que, t1 et t2 s'exécutent simultanément et vous pouvez obtenir un résultat différent.

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

time.sleep() dans les programmes multithreads

Le sleep() la fonction suspend l'exécution du thread en cours pendant un nombre de secondes donné.

Dans le cas de programmes mono-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 multithreads.

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 0,5 seconde et 0,7 seconde respectivement.

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


Python

  1. Types de données Python
  2. Opérateurs Python
  3. Instruction de passe Python
  4. Arguments de la fonction Python
  5. Dictionnaire Python
  6. Itérateurs Python
  7. Fermetures Python
  8. Date-heure Python
  9. Comment obtenir la date et l'heure actuelles en Python ?