Асинхронный код на Python без async/await: Собственный Event Loop с нуля

Опубликовано: 01 Январь 1970
на канале: Программист VLOG
247
17

Телеграм канал: https://t.me/programmers_vlog

В этом видео мы разберем, как написать простой генератор на Python и постепенно усложним его, создав собственный event loop, который будет обрабатывать несколько корутин одновременно. Мы начнем с базового примера, где наш генератор возвращает три значения, и покажем, как вызвать его несколько раз в главной функции.

Далее, расширим код, чтобы запускать два генератора параллельно и рассмотрим, как работает механизм вызова генераторов по очереди. После этого преобразуем наш код в класс `EventLoop`, который управляет корутинами, а также добавим функционал для вызова корутин внутри других корутин.

Для этого мы введем несколько новых классов, таких как `Awaitable`, `Result`, `StillWorking`, и опишем, как они помогают нам обрабатывать асинхронные задачи. Мы также создадим собственную реализацию `sleep`, чтобы симулировать асинхронные задачи, и в результате наш event loop сможет правильно управлять временем ожидания.

В конце видео я покажу, как это всё работает на практике с использованием асинхронного сна, где каждая функция будет "засыпать" и "просыпаться" по таймеру, пока наш event loop будет контролировать процесс выполнения.

Присоединяйтесь, и вместе мы создадим простую, но мощную систему управления асинхронными задачами на Python с нуля!


Смотрите видео Асинхронный код на Python без async/await: Собственный Event Loop с нуля онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Программист VLOG 01 Январь 1970, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 24 раз и оно понравилось 1 людям.