Сон питона ()
Сон Python()
Функция sleep() приостанавливает (ожидает) выполнение текущего потока на заданное количество секунд.
В Python есть модуль time, который предоставляет несколько полезных функций для обработки задач, связанных со временем. Одной из популярных среди них является функция sleep()
. .
sleep()
функция приостанавливает выполнение текущего потока на заданное количество секунд.
Пример 1:Python sleep()
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 секунду. Опять же, текущее местное время вычисляется и печатается. Этот процесс продолжается.
Когда вы запустите программу, вывод будет примерно таким:
02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM ... .. ...
Вот немного измененная лучшая версия вышеуказанной программы.
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result, end="", flush=True)
print("\r", 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()
Когда вы запустите программу, вывод будет примерно таким:
Hello Hello Hi Hello Hi Hi
Вышеприведенная программа имеет два потока t1. и t2 . Эти потоки запускаются с использованием t1.start()
и t2.start()
заявления.
Обратите внимание, что t1 и t2 выполняться одновременно, и вы можете получить другой результат.
Посетите эту страницу, чтобы узнать больше о многопоточности в Python.
<час>time.sleep() в многопоточных программах
sleep()
функция приостанавливает выполнение текущего потока на заданное количество секунд.
В случае однопоточных программ 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() приостанавливает поток
Python