Python 3.10+Linuxosфункция
os.eventfd
os — события и таймеры (fd)
Создаёт дескриптор-счётчик событий для межпоточной/межпроцессной сигнализации (Python 3.10+). Доступно на Linux.
Синтаксис
os.eventfd(...)
Создаёт счётчик в ядре: запись прибавляет к нему число, чтение возвращает накопленную сумму и обнуляет её. Дескриптор можно ждать через select и selectors — так удобно будить цикл событий из другого потока. С флагом EFD_SEMAPHORE каждое чтение уменьшает счётчик на единицу и возвращает 1.
Примеры
import os
fd = os.eventfd(0) # → ? только Linux: новый дескриптор-счётчик со стартовым значением 0
os.eventfd_write(fd, 3) # → ? только Linux: счётчик 0 → 3, fd становится готовым для чтения
print(os.eventfd_read(fd)) # → 3 — чтение забирает значение и обнуляет счётчик
os.close(fd) # → ? только Linux: eventfd закрывается как обычный файловый дескриптор
print(os.eventfd_read(os.eventfd(2, os.EFD_SEMAPHORE | os.EFD_NONBLOCK))) # → ? только Linux: 1, в семафорном режиме чтение снимает по одной единице
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности