Python-søvn () -funktion (med eksempler)

Sleep () -funktionen suspenderer (venter) udførelse af den aktuelle tråd i et givet antal sekunder.

Python har et modul med navnet time, der giver flere nyttige funktioner til at håndtere tidsrelaterede opgaver. En af de populære funktioner blandt dem er sleep().

Den sleep()funktion afbryder udførelsen af den nuværende tråd for et givet antal sekunder.

Eksempel 1: Python-søvn ()

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

Sådan fungerer dette program:

  • "Printed immediately" er trykt
  • Suspenderer (forsinkelser) udførelse i 2,4 sekunder.
  • "Printed after 2.4 seconds" er trykt.

Som du kan se fra ovenstående eksempel, sleep()tager et flydende nummer som et argument.

Før Python 3.5 kan den aktuelle suspensionstid være mindre end det argument, der er angivet for time()funktionen.

Siden Python 3.5 vil suspensionstiden være mindst de angivne sekunder.

Eksempel 2: Python opretter et digitalt ur

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

I ovenstående program beregnet og udskrev vi den aktuelle lokale tid inde i den uendelige mens sløjfe. Derefter venter programmet i 1 sekund. Igen beregnes og udskrives den aktuelle lokale tid. Denne proces fortsætter.

Når du kører programmet, vil output være omtrent som:

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

Her er en lidt ændret bedre version af ovenstående program.

  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) 

For at lære mere, besøg det digitale ur i Python-skal.

Multithreading i Python

Før vi taler om sleep()i multitrådede programmer, lad os tale om processer og tråde.

Et computerprogram er en samling instruktioner. En proces er udførelsen af ​​disse instruktioner.

En tråd er en delmængde af processen. En proces kan have en eller flere tråde.

Eksempel 3: Python multithreading

Alle programmerne ovenfor i denne artikel er programmer med enkelt tråd. Her er et eksempel på et multitrådet Python-program.

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

Når du kører programmet, vil output være omtrent som:

 Hej Hej Hej Hej Hej Hej 

Ovenstående program har to tråde t1 og t2. Disse tråde køres ved hjælp af t1.start()og t2.start()udsagn.

Bemærk, at t1 og t2 kører samtidigt, og du får muligvis forskellige output.

Besøg denne side for at lære mere om Multithreading i Python.

time.sleep () i multitrådede programmer

Den sleep()funktion afbryder udførelsen af den nuværende tråd for et givet antal sekunder.

I tilfælde af programmer med enkelt sleep()tråd suspenderer udførelsen af ​​tråden og processen. Funktionen suspenderer imidlertid en tråd i stedet for hele processen i multitrådede programmer.

Eksempel 4: sleep () i et multitrådet program

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

Ovenstående program har to tråde. Vi har brugt time.sleep(0.5)og time.sleep(0.75)suspenderet udførelsen af ​​disse to tråde i henholdsvis 0,5 sekunder og 0,7 sekunder.

Anbefalet læsning: Python time.sleep () sleeps thread

Interessante artikler...