Python Glossary English

Python 3.13+Linuxosфункция

os.timerfd_settime_ns

os — события и таймеры (fd)

Как timerfd_settime, но в наносекундах (int). Доступно на Linux.

Синтаксис

os.timerfd_settime_ns(...)

Делает то же, что timerfd_settime, но принимает целые наносекунды. Это избавляет от погрешности float при точных периодах: 0.1 секунды в float не представимы точно, а 100_000_000 наносекунд — представимы.

Примеры

import os, time
fd = os.timerfd_create(time.CLOCK_MONOTONIC)  # → ? только Linux: дескриптор таймера
print(os.timerfd_settime_ns(fd, initial=1_000_000_000, interval=250_000_000))  # → (0, 0) — прежние значения в наносекундах; старт через 1 с, период 0.25 с
print(int.from_bytes(os.read(fd, 8), 'little'))  # → 1 — чтение ждало первого срабатывания
print(os.timerfd_settime_ns(fd, initial=0, interval=0))  # → ? только Linux: примерно (250000000, 250000000) — прежние остаток и период; таймер выключен
os.timerfd_settime_ns(fd, initial=0.5)  # → TypeError — нужны целые наносекунды, дробные секунды принимает os.timerfd_settime

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности