Python sleep () Functie (met voorbeelden)

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

Python heeft een module met de naam tijd die verschillende handige functies biedt om tijdgerelateerde taken af ​​te handelen. 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 is hoe dit programma werkt:

  • "Printed immediately" wordt afgedrukt
  • Onderbreekt (vertraagt) 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 voor de time()functie is opgegeven .

Sinds Python 3.5 is de opschorttijd minimaal de gespecificeerde seconden.

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 binnen de oneindige while-lus berekend en afgedrukt. Vervolgens wacht het programma 1 seconde. Nogmaals, de huidige lokale tijd wordt berekend en afgedrukt. Dit proces gaat door.

Wanneer u het programma uitvoert, ziet de uitvoer er ongeveer zo uit:

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

Hier is een iets 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("", end="", flush=True) time.sleep(1) 

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

Multithreading in Python

Voordat we het hebben over sleep()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 programma's met één thread. 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, ziet de uitvoer er ongeveer zo uit:

 Hallo Hallo Hallo Hallo Hallo Hallo 

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

Merk op dat t1 en t2 gelijktijdig worden uitgevoerd en dat u mogelijk verschillende uitvoer krijgt.

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.

Onderbreekt in het geval van single-threaded programma's sleep()de uitvoering van de thread en het proces. 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. Wij hebben time.sleep(0.5)en time.sleep(0.75)de uitvoering van deze twee draden 0,5 seconde en 0,7 seconde respectievelijk opschorten.

Aanbevolen literatuur: Python time.sleep () sleeps thread

Interessante artikelen...