Люмос! Скучали?😏
Сегодня поговорим об играх со временем, а точнее - об #асинхронном программировании (asyncio one love) в нашем любимом
Итак, разберем основные компоненты:
1. Событийный цикл (event loop): помните Гермиону и ее маховик времени? Так вот, она самым наглым образом юзала асинхронность в реальном (для нее) мире. Событийный цикл позволяет выполнять множество задач параллельно.
2. Корутины (Coroutines): страшное слово, которое мы можем понять и увидеть в исполнении все той же Гермионы (а позже и Гарри), когда она готовила Избранного к соревнованиям в четвертой книге и учила его останавливать движущийся объект. Корутины - это задачи, которые могут быть приостановлены, а затем возобновлены с того же места.
3. Ожидание (Awaiting): ну здесь никакой магии, мы все с ним знакомы, скукааа
4. Будущее (Future): чтооо? Если есть что-то, чего мисс Грейнджер не может, так это предсказания, потому здесь нам поможет профессор Трелони и достанет свой хрустальный шар. В asyncio объект Future используется для представления результата операции, который ещё не известен.
5. Задачи (Tasks): и снова "не будет дуратских взмахов палочкой и глупых заклинаний", да они здесь и не нужны, ведь задачами называют Корутины, которые были запланированы для выполнения в событийном цикле.