Coroutines are computer program components that generalize subroutines to allow multiple entry points for suspending and resuming execution at certain locations. Coroutines are well-suited for implementing more familiar program components such as cooperative tasks, iterators, infinite lists and pipes.
The term coroutine was originated by Melvin Conway in a 1963 paper.
Other articles related to "coroutine":
... assembly languages often provide direct methods for coroutine execution ... the assembly language of the PDP-11 family of minicomputers, the “classic” coroutine switch is effected by the instruction "JSR PC,@(SP)+", which jumps to the address popped ...