Метод time.sleep() в Python

 11511

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

Метод time.sleep() в Python

Метод time.sleep() призупиняє виконання потоку коду на задану кількість секунд. Наприклад:

Результат:

Printed immediately.
Printed after 2.4 seconds.

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

   виводиться "Printed immediately";

   функція time.sleep(2.4) призупиняє виконання на 2.4 секунди;

   виводиться "Printed after 2.4 seconds".

Створення цифрового годинника в Python

За допомогою методу time.sleep() ми можемо створити власний цифровий годинник. Наприклад:

Результат:

02:10:50 PM
02:10:51 PM
02:10:52 PM
02:10:53 PM
02:10:54 PM
... ... ...

Тут ми вирахували та вивели поточний локальний час всередині нескінченного циклу while.

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

Перед обговоренням методу time.sleep() у багатопотокових програмах, спочатку поговоримо про процеси та потоки.

Комп’ютерна програма — це набір інструкцій. Процес — це виконання цих інструкцій. Потік — це підмножина процесу. Процес може мати один чи декілька потоків.

Усі вищезазначені програми є однопотоковими. Нижче наведено приклад багатопотокової програми в Python:

Результат:

Hello
Hello
Hi
Hello
Hi
Hi

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

Метод time.sleep() в багатопотокових програмах в Python

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

Приклад використання методу time.sleep() у багатопотоковій програмі:

Результат:

Hello
Hi
Hello
Hi
Hello
Hello
Hi
Hi

Дана програма має два потоки. Ми використали time.sleep(0.5) та time.sleep(0.75) для припинення цих двох потоків на 0.5 секунд і 0.7 секунд відповідно.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (6 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *