Python-lepotila () -toiminto (esimerkkien kanssa)

Sleep () -toiminto keskeyttää (odottaa) nykyisen säikeen suorittamisen tietyn sekunnin ajan.

Pythonissa on moduuli nimeltä aika, joka tarjoaa useita hyödyllisiä toimintoja käsittelemään aikaan liittyviä tehtäviä. Yksi heidän suosituimmista toiminnoistaan ​​on sleep().

sleep()Funktio Pysäytykset suorittamista, langan tietyn määrän sekuntia.

Esimerkki 1: Python-lepotila ()

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

Näin tämä ohjelma toimii:

  • "Printed immediately" on painettu
  • Keskeyttää (viiveet) suorituksen 2,4 sekunniksi.
  • "Printed after 2.4 seconds" on painettu.

Kuten yllä olevasta esimerkistä näet, sleep()argumenttina on liukuluku.

Ennen Python 3.5: ää todellinen keskeytysaika voi olla pienempi kuin time()funktiolle määritetty argumentti .

Python 3.5 : n jälkeen keskeytysaika on vähintään määritetyt sekunnit.

Esimerkki 2: Python luo digitaalisen kellon

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

Edellä olevassa ohjelmassa laskimme ja tulostimme nykyisen paikallisen ajan äärettömän vaikka -silmukan sisällä. Sitten ohjelma odottaa yhden sekunnin. Jälleen nykyinen paikallinen aika lasketaan ja tulostetaan. Tämä prosessi jatkuu.

Kun suoritat ohjelmaa, tulos on jotain:

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

Tässä on hieman muokattu parempi versio yllä olevasta ohjelmasta.

  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) 

Lisätietoja on digitaalisessa kellossa Python-kuoressa.

Monisäikeisyys Pythonissa

Ennen kuin puhumme sleep()monisäikeisissä ohjelmissa, puhutaan prosesseista ja ketjuista.

Tietokoneohjelma on kokoelma ohjeita. Prosessi on näiden ohjeiden suorittaminen.

Lanka on prosessin osajoukko. Prosessissa voi olla yksi tai useampi ketju.

Esimerkki 3: Python-monisäikeisyys

Kaikki tämän artikkelin yllä olevat ohjelmat ovat yksisäikeisiä ohjelmia. Tässä on esimerkki monisäikeisestä Python-ohjelmasta.

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

Kun suoritat ohjelmaa, tulos on jotain:

 Hei Hei Hei Hei Hei 

Yllä olevassa ohjelmassa on kaksi säiettä t1 ja t2. Nämä ketjut ajetaan käyttämällä t1.start()ja t2.start()lauseita.

Huomaa, että t1 ja t2 toimivat samanaikaisesti ja saatat saada erilainen lähtö.

Käy tällä sivulla saadaksesi lisätietoja Multithreadingista Pythonissa.

time.sleep () monisäikeisissä ohjelmissa

sleep()Funktio Pysäytykset suorittamista, langan tietyn määrän sekuntia.

Yksisäikeisten ohjelmien tapauksessa sleep()keskeyttää langan ja prosessin suorittamisen. Toiminto kuitenkin keskeyttää langan pikemminkin kuin koko prosessin monisäikeisissä ohjelmissa.

Esimerkki 4: sleep () monisäikeisessä ohjelmassa

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

Yllä olevassa ohjelmassa on kaksi ketjua. Olemme käyttäneet time.sleep(0.5)ja time.sleep(0.75)keskeyttäneet näiden kahden ketjun suorittamisen vastaavasti 0,5 sekunniksi ja 0,7 sekunniksi.

Suositeltu käsittely: Python time.sleep () sleeps thread

Mielenkiintoisia artikkeleita...