Python sleep () függvény (példákkal)

A sleep () függvény egy adott másodpercre felfüggeszti (megvárja) az aktuális szál végrehajtását.

A Python rendelkezik egy idő nevű modullal, amely számos hasznos funkcióval rendelkezik az idővel kapcsolatos feladatok kezeléséhez. Az egyik legnépszerűbb funkció köztük sleep().

A sleep()függvény egy adott másodpercre felfüggeszti az aktuális szál végrehajtását.

1. példa: Python sleep ()

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

A program így működik:

  • "Printed immediately" van nyomtatva
  • A végrehajtást 2,4 másodpercre felfüggeszti.
  • "Printed after 2.4 seconds" van nyomtatva.

Amint a fenti példából láthatja, sleep()egy lebegőpontos számot vesz fel argumentumként.

A Python 3.5 előtt a tényleges felfüggesztési idő rövidebb lehet, mint a time()függvényhez megadott argumentum .

A Python 3.5 óta a felfüggesztés ideje legalább a megadott másodperc lesz.

2. példa: A Python létrehoz egy digitális órát

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

A fenti programban kiszámoltuk és kinyomtattuk az aktuális helyi időt a végtelen míg hurokban. Ezután a program 1 másodpercet vár. Ismét kiszámoljuk és kinyomtatjuk az aktuális helyi időt. Ez a folyamat folytatódik.

A program futtatásakor a kimenet valami hasonló lesz:

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

Itt van a fenti program kissé módosított jobb verziója.

  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) 

További információért keresse fel a digitális órát a Python shellben.

Többszálas Pythonban

Mielőtt sleep()többszálú programokban beszélnénk róla, beszéljünk a folyamatokról és a szálakról.

A számítógépes program az utasítások gyűjteménye. A folyamat az utasítások végrehajtása.

A szál a folyamat részhalmaza. Egy folyamatnak lehet egy vagy több szála.

3. példa: Python multithreading

A cikkben található összes program egyszálú program. Íme egy példa egy többszálas Python programra.

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

A program futtatásakor a kimenet valami hasonló lesz:

 Hello Hello Hello Hello Hello Hello 

A fenti programnak két t1 és t2 szála van. Ezeket a szálakat t1.start()és t2.start()utasításokat futtatjuk .

Vegye figyelembe, hogy a t1 és a t2 egyidejűleg fut, és előfordulhat, hogy más kimenetet kap.

Látogasson el erre az oldalra, ha többet szeretne megtudni a Multithreadingről a Pythonban.

time.sleep () többszálú programokban

A sleep()függvény egy adott másodpercre felfüggeszti az aktuális szál végrehajtását.

Egyszálú programok esetén sleep()felfüggeszti a szál és a folyamat végrehajtását. A függvény azonban egy szálat függeszt fel, nem pedig az egész folyamatot a többszálas programokban.

4. példa: sleep () többszálú programban

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

A fenti programnak két szála van. Van használt time.sleep(0.5)és time.sleep(0.75)a felfüggesztésére a két szál 0,5 másodperc és 0,7 másodperc volt.

Ajánlott olvasmány: Python time.sleep () alszik szálat

érdekes cikkek...