COROUTINE
сопрограмма. Структурная единица программы, используемая для описания логически параллельных действий и вызываемая подобно подпрограмме. В отличие от подпрограммы, каждый вызов сопрограммы возобновляет ее выполнение с точки последнего возврата.