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

Sleep () -funksjonen avbryter (venter) kjøringen av den gjeldende tråden i et gitt antall sekunder.

Python har en modul som heter tid som gir flere nyttige funksjoner for å håndtere tidsrelaterte oppgaver. En av de populære funksjonene blant dem er sleep().

Den sleep()funksjon opphever utførelsen av gjeldende tråd for et gitt antall sekunder.

Eksempel 1: Python-søvn ()

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

Slik fungerer dette programmet:

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

Som du kan se fra eksemplet ovenfor, sleep()tar du et flytende nummer som argument.

Før Python 3.5 kan den faktiske suspensjonstiden være mindre enn argumentet som er spesifisert for time()funksjonen.

Siden Python 3.5 vil suspensjonstiden være minst de angitte sekundene.

Eksempel 2: Python lager en digital klokke

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

I det ovennevnte programmet beregnet og skrev vi ut aktuell lokal tid inne i den uendelige mens sløyfen. Deretter venter programmet i 1 sekund. Igjen blir den aktuelle lokale tiden beregnet og skrevet ut. Denne prosessen fortsetter.

Når du kjører programmet, vil utdataene være omtrent som:

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

Her er en litt modifisert bedre versjon av programmet ovenfor.

  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 å lære mer, besøk digital klokke i Python-skall.

Multithreading i Python

Før vi snakker om sleep()i flertrådede programmer, la oss snakke om prosesser og tråder.

Et dataprogram er en samling instruksjoner. En prosess er gjennomføringen av disse instruksjonene.

En tråd er en delmengde av prosessen. En prosess kan ha en eller flere tråder.

Eksempel 3: Python multithreading

Alle programmene ovenfor i denne artikkelen er programmer med en tråd. Her er et eksempel på et flertrå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 kjører programmet, vil utdataene være omtrent som:

 Hallo Hei Hei Hei Hei Hei 

Ovennevnte program har to gjenger t1 og t2. Disse trådene kjøres med t1.start()og t2.start()uttalelser.

Merk at t1 og t2 kjøres samtidig, og du kan få annen utgang.

Besøk denne siden for å lære mer om Multithreading i Python.

time.sleep () i flertrådede programmer

Den sleep()funksjon opphever utførelsen av gjeldende tråd for et gitt antall sekunder.

I tilfelle programmer sleep()med en tråd , avbryter utførelsen av tråden og prosessen. Funksjonen suspenderer imidlertid en tråd i stedet for hele prosessen i flertrådede programmer.

Eksempel 4: sove () i et flertrå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()

Ovennevnte program har to tråder. Vi har brukt time.sleep(0.5)og time.sleep(0.75)suspendert utførelsen av disse to trådene i henholdsvis 0,5 sekunder og 0,7 sekunder.

Anbefalt lesing: Python time.sleep () sleeps thread

Interessante artikler...