Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed.
Это нить выполнения с состоянием, выполнение которой может проходить асинхронно, т. е. при ожидании чего либо она сохранить состояние и будет ждать, позволяя другим функционировать в это время