In computer science, coroutines are program components that generalize subroutines to allow multiple entry points for suspending and resuming execution at certain locations. More at Wikipedia
Cooperative multitasking - In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one ta...
Iterator - In computer science, an iterator is an object that allows a programmer to traverse through all the elements of a collection, regardless of its specific implementation.
Fibers - In computer science, a fiber is a particularly lightweight thread of execution.
Generator (computer science) - In computer science, a generator is a special routine that can be used to control the iteration behaviour of a loop.
Green threads - In computer programming, green threads are threads that are scheduled by a Virtual Machine instead of natively by the underlying operating system.
Lazy evaluation - In computer programming, lazy evaluation is the technique of delaying a computation until the result is required.
Pipe (computing) - In Unix-like computer operating systems, a pipeline is the original software pipeline: a set of processes chained by their standard streams, so that the output of each process feeds directly...
Protothreads - In computer science, a protothread is a low-overhead mechanism for concurrent programming.
Subroutine - In computer science, a subroutine is a portion of code within a larger program, which performs a specific task and is relatively independent of the remaining code.