TG Telegram Group & Channel
Библиотека Python разработчика | Книги по питону | United States America (US)
Create: Update:

Многие системные вызовы могут быть прерваны входящим сигналом. Если программист хочет, чтобы вызов всё же был выполнен, ему нужно повторить его снова.

Яркий пример — функция sleep(x), которая должна "заморозить" программу на x секунд, но на практике может завершиться раньше, если появится сигнал.

Однако, начиная с Python 3.5, благодаря PEP 475, Python автоматически обрабатывает все такие вызовы. Следующая программа завершится при первом полученном SIGINT в любой версии Python до 3.5. Но в Python 3.5+ она будет спать ровно 5 секунд, независимо от сигналов.


import signal
import time

def signal_handler(signal, frame):
print('Caught')

signal.signal(signal.SIGINT, signal_handler)

time.sleep(5)


👉@BookPython

Многие системные вызовы могут быть прерваны входящим сигналом. Если программист хочет, чтобы вызов всё же был выполнен, ему нужно повторить его снова.

Яркий пример — функция sleep(x), которая должна "заморозить" программу на x секунд, но на практике может завершиться раньше, если появится сигнал.

Однако, начиная с Python 3.5, благодаря PEP 475, Python автоматически обрабатывает все такие вызовы. Следующая программа завершится при первом полученном SIGINT в любой версии Python до 3.5. Но в Python 3.5+ она будет спать ровно 5 секунд, независимо от сигналов.


import signal
import time

def signal_handler(signal, frame):
print('Caught')

signal.signal(signal.SIGINT, signal_handler)

time.sleep(5)


👉@BookPython
🎉4👍2


>>Click here to continue<<

Библиотека Python разработчика | Книги по питону




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)