ebben a bemutatóban átmegyünk a Python idő alatt.alvás () módszer. Korábbi Bemutatónkban megnéztük az idő modult, amely az alapértelmezett segédprogramkönyvtár a különböző időzítési feladatok elvégzéséhez.
a Python idő.sleep () módszert használják, hogy megállítsák a végrehajtását az aktuális program / szál egy adott ideig.
az aktuális program / szál lényegében semmit sem csinál ebben az időszakban, így “alszik” az adott ideig, mielőtt folytatná jelenlegi állapotát.,
nézzük meg, hogyan tudjuk használni ezt a funkciót.
Python idő.sleep () Usage
Ez a függvény a time
modul része, ezért a pontjelölésnek hívjuk, mint az idő.alvás(). Először importálnunk kell az idő modult.
import time
most, hogy megállítsuk a program végrehajtását, meg kell adnunk a másodpercek számát érvként.,
kimenet
Going to sleep for 5 secondsWoke up after 5 seconds
Ha ezt kipróbálja a gépen, a program 5 másodpercig leáll a két kimenet között, mivel ez az idő alszik.
a másodpercek számát lebegőpontos számként is megadhatjuk, így a 0.001
másodpercek (1 milliszekundum) vagy akár 0.0000001
másodpercek (1 mikroszekundum) esetén is aludhatunk.
Ez a lehető legpontosabbá teszi a késleltetést a lebegőpontos és az óra pontossági határértékein belül.,
kimenet
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
az alvás pontos idejének méréséhez atime.time()
módszert használhatjuk az időzítő elindításához. A start érték és az időzítő végértéke közötti különbség a végrehajtási idő lesz.
teszteljük a tényleges alvási időt a fenti programban.
kimenet
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
itt az idő nem pontosan 2 milliszekundum, amint láthatja. Ez körülbelül 2.071
milliszekundum, ami valamivel nagyobb, mint ez.,
Ez annak köszönhető, hogy bizonyos késedelmek vannak az erőforrások, a folyamat ütemezése stb.
ennek a késleltetésnek a mértéke eltérő lesz, mivel nem ismeri az operációs rendszer pontos állapotát egy adott időpontban.
változó időbeli késleltetés.alvás ()
egy változót át tudunk adni a time.sleep()
– nak, ha valamilyen okból más késleltetést szeretne.,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
kimenet
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
most, hogy már lefedett segítségével time.sleep()
a program, mi is ugyanezt szálak is.
Python idő használatával.sleep() egy szálon
Ez egy hasznos funkció a multi-threading összefüggésében, mivel több szálnak meg kell várnia egy adott erőforrás felszabadítását.
az alábbi részlet megmutatja, hogyan lehet több szálat várni és kinyomtatni kimenetek segítségével Python time.sleep()
.,
kimenet
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
itt a fő szál (program) végrehajtása független a két szál végrehajtásától. Tehát a fő programunk először befejeződött, mielőtt a Worker
és Waiter
szálak követik.
következtetés
ebben a cikkben megismertük a Python time.sleep()
funkció különböző módokon történő használatát.