Funkcja sleep () w języku Python (z przykładami)

Funkcja sleep () wstrzymuje (czeka) wykonanie bieżącego wątku na określoną liczbę sekund.

Python ma moduł o nazwie time, który zapewnia kilka przydatnych funkcji do obsługi zadań związanych z czasem. Jedną z popularnych funkcji wśród nich jest sleep().

W sleep()FUNCTION zawiesza wykonanie obecnego gwintem dla danej liczby sekund.

Przykład 1: Python sleep ()

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

Oto jak działa ten program:

  • "Printed immediately" jest drukowane
  • Zawiesza (opóźnia) wykonywanie na 2,4 sekundy.
  • "Printed after 2.4 seconds" jest drukowane.

Jak widać z powyższego przykładu, sleep()przyjmuje jako argument liczbę zmiennoprzecinkową.

Przed Pythonem 3.5 rzeczywisty czas zawieszenia może być krótszy niż argument określony dla time()funkcji.

Od Pythona 3.5 czas zawieszenia będzie wynosił co najmniej określone sekundy.

Przykład 2: Python tworzy zegar cyfrowy

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

W powyższym programie obliczyliśmy i wydrukowaliśmy bieżący czas lokalny wewnątrz nieskończonej pętli while. Następnie program czeka 1 sekundę. Ponownie obliczany i drukowany jest aktualny czas lokalny. Ten proces trwa.

Po uruchomieniu programu wynik będzie wyglądał mniej więcej tak:

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

Oto nieco zmodyfikowana lepsza wersja powyższego programu.

  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) 

Aby dowiedzieć się więcej, odwiedź zegar cyfrowy w powłoce Pythona.

Wielowątkowość w Pythonie

Zanim porozmawiamy o sleep()programach wielowątkowych, porozmawiajmy o procesach i wątkach.

Program komputerowy to zbiór instrukcji. Proces to wykonanie tych instrukcji.

Wątek jest podzbiorem procesu. Proces może mieć jeden lub więcej wątków.

Przykład 3: Wielowątkowość w Pythonie

Wszystkie programy powyżej w tym artykule są programami jednowątkowymi. Oto przykład wielowątkowego programu w języku Python.

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

Po uruchomieniu programu wynik będzie wyglądał mniej więcej tak:

 Cześć cześć cześć cześć cześć cześć 

Powyższy program ma dwa wątki t1 i t2. Te wątki są uruchamiane przy użyciu instrukcji t1.start()i t2.start().

Zwróć uwagę, że t1 i t2 działają jednocześnie i możesz otrzymać inne wyniki.

Odwiedź tę stronę, aby dowiedzieć się więcej o wielowątkowości w Pythonie.

time.sleep () w programach wielowątkowych

W sleep()FUNCTION zawiesza wykonanie obecnego gwintem dla danej liczby sekund.

W przypadku programów jednowątkowych sleep()wstrzymuje wykonywanie wątku i procesu. Jednak funkcja zawiesza wątek, a nie cały proces w programach wielowątkowych.

Przykład 4: sleep () w programie wielowątkowym

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

Powyższy program ma dwa wątki. Użyliśmy time.sleep(0.5)i time.sleep(0.75)zawiesiliśmy wykonywanie tych dwóch wątków odpowiednio na 0,5 sekundy i 0,7 sekundy.

Zalecana lektura: Python time.sleep () usypia wątek

Interesujące artykuły...