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

Published: 01 January 1970
on channel: Программист VLOG
247
17

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

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

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

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

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

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


Watch video Асинхронный код на Python без async/await: Собственный Event Loop с нуля online without registration, duration hours minute second in high quality. This video was added by user Программист VLOG 01 January 1970, don't forget to share it with your friends and acquaintances, it has been viewed on our site 247 once and liked it 17 people.