В чём разница между time.Ticker и “loop + sleep”, и какой вариант предпочтительнее в проде?
Что произойдет, если использовать time.sleep() внутри async-функции?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
4
Сложность:
6
Ticker гарантирует фиксированный период между сигналами, Sleep — фиксированную задержку между итерациями. Ticker предпочтительнее, потому что не накапливает дрейф и позволяет корректно завершать цикл.
Рейтинг:
5
Сложность:
6
time.sleep() блокирует поток выполнения, даже если он вызван внутри async-функции. Это приводит к блокировке всего event loop. Другие корутины перестают выполняться на время сна. Такое поведение ломает асинхронность. Вместо этого следует использовать asyncio.sleep().