Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python-slaap()

Python slaap()

De functie sleep() onderbreekt (wacht) de uitvoering van de huidige thread gedurende een bepaald aantal seconden.

Python heeft een module genaamd tijd die verschillende handige functies biedt om tijdgerelateerde taken uit te voeren. Een van de populaire functies onder hen is sleep() .

De sleep() functie onderbreekt de uitvoering van de huidige thread voor een bepaald aantal seconden.


Voorbeeld 1:Python sleep()


import time

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

Dit programma werkt als volgt:

  • "Printed immediately" wordt afgedrukt
  • Onderbreekt (vertraagt) de uitvoering gedurende 2,4 seconden.
  • "Printed after 2.4 seconds" wordt afgedrukt.

Zoals je kunt zien in het bovenstaande voorbeeld, sleep() neemt een getal met drijvende komma als argument.

Vóór Python 3.5 , kan de werkelijke opschortingstijd korter zijn dan het argument dat is opgegeven voor de time() functie.

Sinds Python 3.5 , zal de schorsingstijd ten minste de gespecificeerde seconden zijn.


Voorbeeld 2:Python maakt een digitale klok

import time

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

In het bovenstaande programma hebben we de huidige lokale tijd berekend en afgedrukt binnen de oneindige while-lus. Vervolgens wacht het programma 1 seconde. Nogmaals, de huidige lokale tijd wordt berekend en afgedrukt. Dit proces gaat door.

Wanneer u het programma uitvoert, zal de uitvoer zoiets zijn als:

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

Hier is een licht gewijzigde betere versie van het bovenstaande programma.


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)

Ga voor meer informatie naar de digitale klok in de Python-shell.


Multithreading in Python

Voordat we het hebben over sleep() in programma's met meerdere threads, laten we het hebben over processen en threads.

Een computerprogramma is een verzameling instructies. Een proces is de uitvoering van die instructies.

Een thread is een subset van het proces. Een proces kan een of meer threads hebben.


Voorbeeld 3:Python-multithreading

Alle programma's hierboven in dit artikel zijn single-threaded programma's. Hier is een voorbeeld van een Python-programma met meerdere threads.


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()

Wanneer u het programma uitvoert, zal de uitvoer zoiets zijn als:


Hello
Hello
Hi
Hello
Hi
Hi

Het bovenstaande programma heeft twee threads t1 en t2 . Deze threads worden uitgevoerd met t1.start() en t2.start() verklaringen.

Merk op dat, t1 en t2 gelijktijdig worden uitgevoerd en u krijgt mogelijk een andere uitvoer.

Bezoek deze pagina voor meer informatie over multithreading in Python.


time.sleep() in programma's met meerdere threads

De sleep() functie onderbreekt de uitvoering van de huidige thread voor een bepaald aantal seconden.

In het geval van programma's met één thread, sleep() schort de uitvoering van de thread en het proces op. De functie onderbreekt echter een thread in plaats van het hele proces in programma's met meerdere threads.


Voorbeeld 4:sleep() in een programma met meerdere threads

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()

Het bovenstaande programma heeft twee threads. We hebben time.sleep(0.5) . gebruikt en time.sleep(0.75) om de uitvoering van deze twee threads respectievelijk 0,5 seconden en 0,7 seconden op te schorten.

Aanbevolen literatuur: Python time.sleep() slaapt draad


Python

  1. Python-gegevenstypen
  2. Python-operators
  3. Python pass-instructie
  4. Python-functieargumenten
  5. Python-woordenboek
  6. Python-iterators
  7. Python-sluitingen
  8. Python datetime
  9. Hoe de huidige datum en tijd in Python te krijgen?
  10. Python Krijgen huidige tijd
  11. Python-tijdmodule