Цикл событий в Python



Цикл событий — это ядро для каждого асинхронного приложения. Он нужен для того, что бы запускать асинхронные задачи и функции обратного вызова.



Поговорим теперь о низкоуровневых методах:



get_running_loop — Возвращает текущий цикл событий в потоке. Если его нет, то будет RuntimeError. Может быть вызвана только с корутины или функции обратного вызова.



get_event_loop — Делает тоже самое что и функция выше, но если set_event_loop не был вызван, то в добавок ещё закрепит новый цикл.



new_event_loop — Создает новый цикл событий.



set_event_loop — Устанавливает цикл событий для текущего потока.



Немного о методах для работы с циклами событий:



run_forever — Запускает цикл событий до тех пока stop не будет вызван.



stop — Останавливает цикл событий.



Также есть методы is_closed и is_running для проверки состояния.



Пример можете посмотреть на картинке выше. Много другого полезного вы можете прочитать в документации.



#async