w tym samouczku omówimy czas Pythona.metoda sleep (). W naszym poprzednim samouczku przyjrzeliśmy się modułowi czasu, który jest domyślną biblioteką narzędzi do wykonywania różnych zadań czasowych.
czas pytona.metoda sleep () służy do wstrzymania wykonania bieżącego programu/wątku na określony czas.
bieżący program / wątek zasadniczo nie robi nic w tym okresie czasu, więc „śpi” przez ten czas, zanim powróci ze swojego obecnego stanu.,
przyjrzyjmy się, jak możemy korzystać z tej funkcji.
czas Pythona.użycie sleep ()
Ta funkcja jest częścią modułutime
dlatego nazywamy ją za pomocą notacji kropkowej jak czas.sen (). Najpierw musimy zaimportować moduł czasu.
import time
teraz, aby zatrzymać wykonanie programu, musimy określić liczbę sekund jako argument.,
wyjście
Going to sleep for 5 secondsWoke up after 5 seconds
jeśli wypróbujesz to na swoim komputerze, Twój program zatrzyma się na 5 sekund między dwoma wyjściami, ponieważ jest uśpiony przez ten czas.
możemy również określić liczbę sekund jako liczbę zmiennoprzecinkową, dzięki czemu możemy spać dla 0.001
sekund (1 milisekunda) lub nawet 0.0000001
sekund (1 mikrosekunda).
dzięki temu opóźnienie będzie możliwie jak najdokładniejsze, w granicach zmiennoprzecinkowych i dokładności zegara.,
wyjście
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
aby zmierzyć dokładny czas snu, możemy użyć metodytime.time()
do uruchomienia timera. Różnica między wartością początkową a wartością końcową timera będzie naszym czasem wykonania.
przetestujmy nasz rzeczywisty czas snu w powyższym programie.
wyjście
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
tutaj, czas nie jest dokładnie 2 milisekundy, jak widać. Chodzi o2.071
milisekundy, co jest nieco większe.,
wynika to z pewnych opóźnień w przydzielaniu zasobów, harmonogramowaniu procesów itp.z systemu operacyjnego, co może spowodować niewielkie opóźnienie.
zakres tego opóźnienia będzie różny, ponieważ nie znasz dokładnego stanu systemu operacyjnego w danej instancji czasu.
sleep ()
możemy przekazać zmienną dotime.sleep()
, jeśli z jakiegoś powodu chcesz mieć inne opóźnienie.,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
Wyjście
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
teraz, gdy mamy pokryte za pomocą time.sleep()
dla naszego programu, możemy zrobić to samo dla wątków również.
używając Pythona time.sleep() na wątku
jest to przydatna funkcja w kontekście wielowątkowości, ponieważ wiele wątków może wymagać oczekiwania na uwolnienie określonego zasobu.
poniższy fragment pokazuje, jak możemy sprawić, że wiele wątków będzie czekać i drukować wyjścia, używając Pythona time.sleep()
.,
wyjście
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
tutaj wykonanie głównego wątku (programu) jest niezależne od wykonania obu wątków. Tak więc nasz główny program zakończył się jako pierwszy, zanim nastąpią Worker
I Waiter
wątki.
podsumowanie
w tym artykule dowiedzieliśmy się o używaniu funkcji Pythonatime.sleep()
na różne sposoby.