Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: monotonic, clock

Почему при измерении интервалов времени рекомендуется использовать monotonic()?

Вопрос проверяет понимание различий между системным временем и монотонными часами.

Короткий ответ

monotonic() рекомендуется использовать, потому что такие часы никогда не идут назад и не зависят от изменения системного времени. Системные часы могут корректироваться NTP или пользователем, что делает измерения интервалов неточными. Монотонные часы гарантируют корректное измерение длительности. Поэтому они применяются для таймаутов и измерения интервалов.

Длинный ответ

При измерении интервала времени важна стабильность источника времени.

Проблема системных часов

Функция time() возвращает время системы, которое может изменяться:

  • синхронизация NTP

  • ручное изменение времени

  • корректировка часового пояса

Это может привести к ситуации:

end < start

что делает измерение некорректным.

Как работает monotonic()

Определение
Монотонные часы — это часы, значение которых только увеличивается и никогда не уменьшается.

Особенности:

  • независимы от системного времени

  • устойчивы к корректировкам

  • подходят для таймаутов

Пример:

start = time.monotonic()
# операция
elapsed = time.monotonic() - start

Где используется monotonic()

Чаще всего:

  • таймауты

  • retry-механизмы

  • ожидание событий

  • измерение длительности операций

Вывод

Для измерения интервалов времени необходимо использовать монотонные часы, так как они гарантируют стабильность и корректность измерений.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#monotonic

#clock

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.