Python-sömn () -funktion (med exempel)

Sleep () -funktionen avbryter (väntar) körningen av den aktuella tråden under ett givet antal sekunder.

Python har en modul med namnet tid som ger flera användbara funktioner för att hantera tidsrelaterade uppgifter. En av de populära funktionerna bland dem är sleep().

Den sleep()funktionen i viloläge genomförandet av den aktuella tråden för ett givet antal sekunder.

Exempel 1: Python-sömn ()

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

Så här fungerar det här programmet:

  • "Printed immediately" är tryckt
  • Avbryter (fördröjningar) körning i 2,4 sekunder.
  • "Printed after 2.4 seconds" är tryckt.

Som du kan se från exemplet ovan, sleep()tar ett flytnummer som ett argument.

Innan Python 3.5 kan den faktiska upphängningstiden vara mindre än det argument som anges för time()funktionen.

Sedan Python 3.5 kommer upphängningstiden att vara åtminstone de angivna sekunderna.

Exempel 2: Python skapar en digital klocka

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

I programmet ovan beräknade vi och skrev ut aktuell lokal tid inuti det oändliga medan slingan. Sedan väntar programmet i 1 sekund. Återigen beräknas och skrivs ut aktuell lokal tid. Denna process fortsätter.

När du kör programmet blir resultatet ungefär som:

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

Här är en lite modifierad bättre version av ovanstå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) 

För att lära dig mer, besök digital klocka i Python-skal.

Multithreading i Python

Innan vi pratar om sleep()i flertrådade program, låt oss prata om processer och trådar.

Ett datorprogram är en samling instruktioner. En process är genomförandet av dessa instruktioner.

En tråd är en delmängd av processen. En process kan ha en eller flera trådar.

Exempel 3: Python multithreading

Alla program ovan i den här artikeln är program med en tråd. Här är ett exempel på ett flertrådigt 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ör programmet blir resultatet ungefär som:

 Hej Hej Hej Hej Hej Hej 

Ovanstående program har två trådar t1 och t2. Dessa trådar körs med t1.start()och t2.start()uttalanden.

Observera att t1 och t2 körs samtidigt och du kan få olika utdata.

Besök den här sidan för att lära dig mer om Multithreading i Python.

time.sleep () i flertrådade program

Den sleep()funktionen i viloläge genomförandet av den aktuella tråden för ett givet antal sekunder.

Vid enkeltrådade program sleep()avbryter körningen av tråden och processen. Funktionen avbryter emellertid en tråd snarare än hela processen i flertrådade program.

Exempel 4: sömn () i ett flertrådigt 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()

Ovanstående program har två trådar. Vi har använt time.sleep(0.5)och för time.sleep(0.75)att avbryta körningen av dessa två trådar i 0,5 sekunder respektive 0,7 sekunder.

Rekommenderad läsning: Python time.sleep () sleeps thread

Intressanta artiklar...