i den här handledningen kommer vi att gå över Python-tiden.sömn () metod. I vår tidigare handledning tittade vi på tidsmodulen, som är standardverktygsbiblioteket för att utföra olika tidsuppgifter.
Python-tiden.sleep () metod används för att stoppa utförandet av det aktuella programmet / tråden under en viss tid.
det aktuella programmet / tråden gör i huvudsak ingenting under denna tidsperiod, så det ”sover” för den tiden innan det återupptas från sitt nuvarande tillstånd.,
Låt oss ta en titt på hur vi kan använda den här funktionen.
Python tid.sleep() Usage
denna funktion är en del av time
modulen därför kallar vi det med dot notation som tid.sova(). Vi måste importera tidsmodulen först.
import time
för att stoppa genomförandet av programmet måste vi ange antalet sekunder som ett argument.,
Output
Going to sleep for 5 secondsWoke up after 5 seconds
om du provar detta på din maskin kommer ditt program att stanna i 5 sekunder mellan de två utgångarna, eftersom det sover för den tiden.
Vi kan också ange antalet sekunder som ett flyttal, så vi kan sova för0.001
sekunder (1 millisekund) eller till och med0.0000001
sekunder (1 mikrosekund).
detta gör fördröjningen så exakt som möjligt, inom gränserna för flyttal och klockprecision.,
utgång
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
för att mäta exakt tid för sömn kan vi använda metodentime.time()
för att starta en timer. Skillnaden mellan startvärdet och slutvärdet för timern blir vår körningstid.
låt oss testa vår faktiska sovtid i ovanstående program.
utgång
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
här är tiden inte exakt 2 millisekunder, som du kan se. Det handlar om2.071
millisekunder, vilket är något större än det.,
detta beror på vissa förseningar i att allokera resurser, schemaläggning av processer etc från operativsystemet, vilket kan orsaka en liten fördröjning.
omfattningen av denna fördröjning kommer att skilja sig eftersom du inte känner till operativsystemets exakta tillstånd vid en viss tidpunkt.
variabel tidsfördröjning för tid.sleep()
Vi kan skicka en variabel till time.sleep()
, om du vill ha en annan fördröjning av någon anledning.,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
utgång
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
Nu när vi har täckt medtime.sleep()
för vårt program kan vi göra detsamma för trådar också.
använder Python tid.sleep() på en tråd
det här är en användbar funktion i samband med multi-threading, eftersom flera trådar kan behöva vänta på att en viss resurs ska befrias.
nedanstående utdrag visar hur vi kan göra flera trådar vänta och skriva ut utgångar, med Python time.sleep()
.,
utgång
Starting Worker Thread....Worker Thread 0Starting Waiter Thread....Waiter thread 10Main thread finished!Worker Thread 1Waiter thread 11Worker Thread 2Waiter thread 12Worker Thread 3Waiter thread 13Waiter thread 14
här är utförandet av huvudtråden (programmet) oberoende av utförandet av de två trådarna. Så vårt huvudprogram slutade först, innan det följdes av trådarna Worker
och Waiter
.
slutsats
i den här artikeln lärde vi oss om att använda Pythontime.sleep()
– funktionen på olika sätt.