Сопрограммы (corutines) в Python
Содержание
Предупреждение
Последний раз данная статья обновлялась 27.04.2022, информация может быть устаревшей.
Список вопросов к Python собеседованию
Сопрограммы – это особый тип функций, которые сознательно передают управление вызывающему объекту, но они не заканчивают свой контекст в процессе, поддерживая его в состоянии ожидания.
Сопрограмма сама решает, когда перенаправить flow в другое место (например, в другую сопрограмму). И это позволяет строить красивые разветвленные деревья обработки потоков данных, реализовывать MapReduce
, возможно прокидывать текущие байты через сокет на другую ноду. Более того, сопрограммы могут быть фактически реализованы абсолютно на любом языке.
What is a Coroutine Anyway? (перевод)
Использование send(), throw() и close() в генераторах Python
О стандарте можно почитать тут - PEP342