Definition

A coroutine is a computer program entity that generalizes a subprogram for the concurrent execution of functions (subroutines) in a co-operative multitasking language.