Функція сну Python () (з прикладами)

Функція sleep () призупиняє (чекає) виконання поточного потоку на задану кількість секунд.

Python має модуль з іменем time, який надає кілька корисних функцій для обробки завдань, пов'язаних з часом. Однією з популярних функцій серед них є sleep().

У sleep()Function призупиняє виконання поточного потоку для заданого кількості секунд.

Приклад 1: Сон Python ()

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

Ось як працює ця програма:

  • "Printed immediately" друкується
  • Призупиняє (затримує) виконання на 2,4 секунди.
  • "Printed after 2.4 seconds" друкується.

Як видно з наведеного прикладу, sleep()приймає число з плаваючою комою як аргумент.

До версії Python 3.5 фактичний час призупинення може бути меншим за аргумент, вказаний для time()функції.

Починаючи з Python 3.5 , час призупинення становитиме щонайменше секунди.

Приклад 2: Python створює цифровий годинник

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

У наведеній вище програмі ми обчислили та надрукували поточний місцевий час всередині нескінченного циклу while. Потім програма чекає 1 секунду. Знову ж, поточний місцевий час обчислюється та друкується. Цей процес триває.

Коли ви запускаєте програму, результат буде приблизно таким:

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

Ось трохи модифікована краща версія вищевказаної програми.

  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) 

Щоб дізнатись більше, відвідайте цифровий годинник у оболонці Python.

Багатопотоковість на Python

Перш ніж говорити про sleep()багатопотокові програми, давайте поговоримо про процеси та потоки.

Комп’ютерна програма - це збірник інструкцій. Процес - це виконання цих інструкцій.

Потік - це підмножина процесу. Процес може мати один або кілька потоків.

Приклад 3: Багатопотоковість Python

Усі програми, наведені в цій статті, є однопоточними. Ось приклад багатопотокової програми 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() 

Коли ви запускаєте програму, результат буде приблизно таким:

 Привіт Привіт Привіт Привіт Привіт Привіт 

Зазначена програма має два потоки t1 і t2. Ці потоки запускаються за допомогою операторів t1.start()and t2.start().

Зверніть увагу, що t1 і t2 працюють одночасно, і ви можете отримати різні результати.

Відвідайте цю сторінку, щоб дізнатись більше про багатопотоковість у Python.

time.sleep () у багатопотокових програмах

У sleep()Function призупиняє виконання поточного потоку для заданого кількості секунд.

У випадку однопотокових програм sleep()призупиняє виконання потоку та процесу. Однак функція призупиняє потік, а не весь процес у багатопотокових програмах.

Приклад 4: sleep () у багатопотоковій програмі

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

Вищевказана програма має два потоки. Ми використовували time.sleep(0.5)і time.sleep(0.75)для призупинення виконання цих двох потоків на 0,5 секунди та 0,7 секунди відповідно.

Рекомендоване для читання: Python time.sleep () спить нитку

Цікаві статті...