Search references for COROUTINE. Phrases containing COROUTINE
See searches and references containing COROUTINE!COROUTINE
Functions whose execution you can pause
Coroutines are computer program components that can be suspended and resumed — generalizing subroutines — for cooperative multitasking. Coroutines are
Coroutine
One-way software control-flow statement
similar to goto statements. A coroutine is more restricted than goto, as it can only resume a currently running coroutine at specified points – continuing
Goto
2023 edition of the C++ programming language standard
as for this. standard library modules std and std.compat synchronous coroutine std::generator for ranges result type std::expected monadic operations
C++23
American computer scientist
Conway developed the concept of coroutines. Conway developed the concept of coroutines, having coined the term coroutine in 1958 and he was the first to
Melvin_Conway
programming. Protothreads function as stackless, lightweight threads, or coroutines, providing a blocking context cheaply using minimal memory per protothread
Protothread
General-purpose programming language
extensions for ranges, integrated into C++20, ISO/IEC TS 22277:2017 on coroutines, integrated into C++20, ISO/IEC TS 19216:2018 on the networking library
C++
Routine that generates a sequence of values
such as coroutines or first-class continuations. Generators, also known as semicoroutines, are a special case of (and weaker than) coroutines, in that
Generator (computer programming)
Generator_(computer_programming)
Set of rules defining correctly structured C++ program
com. "Coroutines (C++20)". cppreference.com. cppreference.com. Retrieved 30 May 2026. Dietmar Kühl, Maikel Nadolski (18 May 2025). "Add a Coroutine Task
C++_syntax
Chain of software processing elements
pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, etc.), arranged so that the output of each element is the
Pipeline_(software)
Early object-oriented programming language
introduced objects, classes, inheritance and subclasses, virtual procedures, coroutines, and discrete event simulation, and featured garbage collection. Other
Simula
Lightweight thread of execution
Fibers (sometimes called stackful coroutines or user mode cooperatively scheduled threads) and stackless coroutines (compiler synthesized state machines)
Fiber_(computer_science)
Feature of programming languages
synchronous function. It is semantically related to the concept of a coroutine and is often implemented using similar techniques, and is primarily intended
Async/await
General-purpose programming language
value from a generator function (and also an operator); used to implement coroutines The return statement, used to return a value from a function The import
Python_(programming_language)
Executing several computations during overlapping time periods
networks. Examples follow. At the programming language level: Channel Coroutine Futures and promises At the operating system level: Computer multitasking
Concurrent_computing
How software progresses through its implementation
value back), rather than specifying a coroutine to jump to; see comparison of coroutines with generators. Coroutines are computer program components that
Control_flow
Computer multitasking that does not preempt processes
a non-async function, but only an async function, which is a kind of coroutine. Cooperative multitasking allows much simpler implementation of applications
Cooperative_multitasking
Lightweight threading implemented in userspace
performance gains like operating system threads. The main benefit of coroutines and green threads is ease of implementation. On a multi-core processor
Green_thread
Subroutine call performed as final action of a procedure
the tail call a fundamental primitive for implementing high-performance coroutines. By replacing the traditional CALL and RET cycle with a direct jump to
Tail_call
Topics referred to by the same term
and published by Raw Fury Routine, another name for a computer program Coroutine, generalized reentrant computer subroutine having multiple entry points
Routine
Data processing chain
round-robin scheduler with a coroutine-based framework. In this context, each stage may be instantiated with its own coroutine, yielding control back to
Pipeline_(computing)
Concept in multithreading
function to take control. Coroutines that explicitly yield allow cooperative multitasking. Computer programming portal Coroutines Java (software platform)
Yield_(multithreading)
Programming paradigm based on block-based control flow
functions allow multiple entry. This is most commonly only re-entry into a coroutine (or generator/semicoroutine), where a function yields control (and possibly
Structured_programming
Representation of the control state of a computer program
control mechanisms in programming languages such as exceptions, generators, coroutines, and so on. The "current continuation" or "continuation of the computation
Continuation
Computer science constructs
by OCaml's Deferred BrightFutures SwiftCoroutine For Tcl: tcl-promise Futures can be implemented in coroutines or generators, resulting in the same evaluation
Futures_and_promises
1970s-80s computer programming language
concepts are: The module as a compiling unit for separate compiling The coroutine as the basic building block for concurrent processes Types and procedures
Modula-2
Header file for C programs
function calls. A less common use of setjmp is to create syntax similar to coroutines. int setjmp(jmp_buf env) Sets up the local jmp_buf buffer and initializes
Setjmp.h
Kotlin software and development tools
immutable – persistent collection library Kotlinx.coroutines – library for asynchronous programming and coroutine support Kotlinx.datetime – modern date and
List of Kotlin software and tools
List_of_Kotlin_software_and_tools
Calling convention for web servers
implementation of the Python WSGI specification for IronPython and IIS Gevent-FastCGI server implemented using gevent coroutine-based networking library
Web_Server_Gateway_Interface
Implementation of loop unrolling in C
Computer programming portal Computed GOTO Coroutine – Duff's device can be used to implement coroutines in C/C++ (see Tatham external link) Jensen's
Duff's_device
Switch between processes or tasks on a computer
switching between goroutines in Go, a context switch is equivalent to a coroutine yield, which is only marginally more expensive than a subroutine call
Context_switch
Programming language
serving as a concurrency-safe list of recycled buffers, implementing coroutines (which helped inspire the name goroutine), and implementing iterators
Go_(programming_language)
Topics referred to by the same term
cooking, yield is how many servings a recipe creates. Yield, a feature of a coroutine in computer programming. Yield, an element of the TV series The Amazing
Yield
Family of computer operating systems
producer-consumer processes (pipelines) made a powerful programming paradigm (coroutines) widely available. Many later command-line interpreters have been inspired
Unix
Open-source, cross-platform C++ library for network programming
working with C++20 coroutines. C++ TR2 Networking Library Proposal "Asio C++ Library". think-async.com. Retrieved 2024-08-01. C++20 Coroutines Support, boost
Asio_(C++_library)
Computational threads scheduled by a run-time library
events. Earlier constructs that are not or not always preemptive, such as coroutines, green threads or the largely single-threaded Node.js, introduce delays
Virtual_thread
Logical AND Left-to-right 15 || Logical OR Left-to-right 16 co_await Coroutine processing (C++ only) Right-to-left co_yield 17 ?: Ternary conditional
Operators_in_C_and_C++
Real-time operating system
configured for both preemptive or cooperative multitasking. Coroutine support (coroutines in FreeRTOS are simple and lightweight tasks with limited use
FreeRTOS
Lightweight programming language
(automatic conversion between string and number values at run time), coroutines (cooperative multitasking) and dynamic module loading. The classic "Hello
Lua
Programming language
differences with Modula-2: Concurrency; different than the concept of coroutine, which was already part of Modula-2 Exception handling Garbage collection
Modula-2+
Programming paradigm for improving clarity and development time of a computer program
independently came upon the same ideas while developing an experimental coroutine library for the Kotlin language, which later became a standard library
Structured_concurrency
Computer software that distributes web pages
single thread (no thread) or multi-thread for each process; usage of coroutines or not; ... and other programming techniques, such as: minimization of
Web_server
Range of mainframe computers in the 1960s and 70s
procedure returns. The call mechanism invokes a procedure as a coroutine. Coroutines are partner tasks established as synchronous entities operating
Burroughs_Large_Systems
in C of advanced control flow patterns such as iterators, fibers, and coroutines. They may be viewed as an advanced version of setjmp/longjmp; whereas
Setcontext
Sequence of program instructions invokable by other software
is generally more than one stack. An environment that fully supports coroutines or lazy evaluation may use data structures other than stacks to store
Function (computer programming)
Function_(computer_programming)
which can be run on multiple processors or functional units. Continuation Coroutine Fiber (computer science) Micro-thread (multi-core) Protothread Helmut
Microthread
Mathematical puzzle game
ISBN 978-3-030-01976-1. Birtwistle, Graham (January 1985). "The coroutines of Hanoi". ACM SIGPLAN Notices. 20 (1): 9–10. doi:10.1145/988284.988286
Tower_of_Hanoi
Instruction set architecture developed by Digital Equipment Corporation
stack and jumps to the coroutine. Both coroutines can then use additional JSR PC,@(SP)+ instructions to jump to the other coroutine wherever it left off
PDP-11_architecture
Alternative Python implementation
threads. In addition to Python features, Stackless also adds support for coroutines, communication channels, and task serialization. With Stackless Python
Stackless_Python
Object-oriented programming language
sent this message to me". These facilities make it possible to implement coroutines or Prolog-like back-tracking without modifying the virtual machine. The
Smalltalk
High-level programming language
applies an anonymous function (since 8.5). coroutine, yield, and yieldto create and produce values from coroutines (since 8.6). try lets you trap and process
Tcl_(programming_language)
Collection of classes and functions used in the C++ programming language
designed for use with the standard algorithms. <generator> C++23 Provides a coroutine generator that additionally supports nested yield operations on ranges
C++_Standard_Library
Component of a computer process
tasks through fibers. Closely related to fibers are coroutines, with the distinction being that coroutines are a language-level construct, while fibers are
Thread_(computing)
Statement which ends execution of a function and resumes in the main code
a yield causes a coroutine to suspend. The coroutine will later continue from where it suspended if it is called again. Coroutines are significantly
Return_statement
2020 edition of the C++ programming language standard
(interaction with lambda captures, static and thread_local storage duration) coroutines using on scoped enums constinit keyword ranges (The One Ranges Proposal)
C++20
Data structure used in computer programs
Computer programming portal Automatic memory allocation Calling convention Coroutine Overhead (computing) Spaghetti stack Stack-based memory allocation Stack
Call_stack
Programming language evaluation rules
computing its value. If implemented with a coroutine, as in .NET async/await, creating a future calls a coroutine (an async function), which may yield to
Evaluation_strategy
Mathematical problem set on a chessboard
uses lists to keep the program code as simple as possible. By using a coroutine in the form of a generator function, both versions of the original can
Eight_queens_puzzle
General-purpose programming language
and added built-in support for many Kotlin-specific features, such as coroutines. In 2020, JetBrains found in a survey of developers who use Kotlin that
Kotlin
Kotlin, you can now access properties as first-class objects in Kotlin "Coroutines". Kotlin Help. Halcyon (Inworldz) and Open Sims propose compatible implementations
Comparison of programming languages
Comparison_of_programming_languages
Deep learning software
contain references to objects that cannot be serialized, such as Lua coroutines, and Lua userdata. However, userdata can be serialized if it is wrapped
Torch_(machine_learning)
Lisp-like programming language
user-defined data types. It offers multithreaded expression evaluation and coroutines. Variables can carry both a local value within a scope, and a global value
MDL_(programming_language)
Control flow operator in functional programming
for nondeterministic choice, Prolog-style backtracking, Simula 67-style coroutines and generalizations thereof, Icon-style generators, or engines and threads
Call-with-current-continuation
Call-with-current-continuation
Revision of the C++ programming language released in 2026
with the "execution control library" for asynchronous operations and coroutines, including a std::execution::task class Async sender/receiver model for
C++26
Dynamic programming language
metaprogramming facilities Designed for parallel and distributed computing Coroutines: lightweight green threading Automatic generation of code for different
Julia_(programming_language)
Class-based programming language
distinctive feature of CLU iterators is that they are implemented as coroutines, with each value being provided to the caller via a yield statement. Iterators
CLU_(programming_language)
Programming language
Linux-specific APIs MacOS-specific APIs Win32-specific APIs Text console functions Coroutine support Environment variable support Exception handling support Memory-mapped
High_Level_Assembly
Form of text that defines C code
Examples include Duff's device and Simon Tatham's implementation of coroutines in Putty. The following is an example of a switch over an int: #include
C_syntax
Prolog implementation
essentials for constraint solvers, such as coroutines, attributed variables, and unbounded integers. The block coroutining declaration is particularly efficient
SICStus_Prolog
Computer software project
static compilation of .NET code (used on Mono/iPhone, Mono/PS3). Mono coroutines (used to implement micro-threading code and continuations, mostly for
Mono_(software)
Topics referred to by the same term
young adults Corocraft, costume jewelry makers of the early 20th century Coroutine All pages with titles containing Coro This disambiguation page lists articles
Coro
Computer programming problem
lets one avoid the pyramid of doom Dave Herman (14 December 2011). "Why coroutines won't work on the web". The Little Calculist. Archived from the original
Pyramid_of_doom_(programming)
Form of input/output processing
which can be easily processed using built-in selective receive. Fibers / Coroutines can be viewed as a similarly lightweight approach to do asynchronous I/O
Asynchronous_I/O
In programming, a special method executed during object destruction
Conversely, in the case of a finally clause in a coroutine, like in a Python generator, the coroutine may never terminate – only ever yielding – and thus
Finalizer
Branch of computer science
object-oriented programming language; Simula also introduced the concept of coroutines. In 1964, Peter Landin is the first to realize Church's lambda calculus
Programming_language_theory
Library for Rust programming language
tokio::spawn function to create an asynchronous task (implemented as a stackless coroutine), allowing each connection to be handled separately in the same process
Tokio_(software)
Software programming optimization technique
Bibcode:1995cmp.lg....4016J. Johnson, Mark & Dörre, Jochen (1995). "Memoization of Coroutined Constraints". Proceedings of the 33rd Annual Meeting of the Association
Memoization
Unix System V framework
inter-process communication. In this framework, a stream is a chain of coroutines that pass messages between a program and a device driver (or between a
STREAMS
Programming language, a dialect of the language Lisp
which in turn is implemented in PicoLisp. This version adds support for coroutines. In December 2010, a Java version named Ersatz PicoLisp was released.
PicoLisp
Ordering of binary values, used for positioning and error correction
generated in O(n) time. The algorithm is most easily described using coroutines. Monotonic codes have an interesting connection to the Lovász conjecture
Gray_code
Techniques used by computers to manage components with limited availability
These can be remedied either functionally, by using closures/callbacks/coroutines (Common Lisp, Ruby, Scheme), or by using an object that handles both the
Resource management (computing)
Resource_management_(computing)
Dialect of the ALGOL-60 for systems programming
and record garbage collection. It also has block-structured macros, a coroutining facility and some new data types intended for building search trees and
SAIL_(programming_language)
Object that enables processing collection items in order
iterator is via a restricted form of coroutine, known as a generator. By contrast with a subroutine, a generator coroutine can yield values to its caller multiple
Iterator
Comparison of programming languages
which would otherwise be valid, such as implementation of threads or coroutines switching between separate call stacks with longjmp() — when jumping from
Compatibility_of_C_and_C++
Rules defining correctly structured Java programs
System.Threading.Tasks.Task<T> in C#, even though Java lacks explicit coroutines like those of C#. As part of Project Loom in Java 21, virtual threads
Java_syntax
S60 – CPython port to the S60 platform. Stackless Python – CPython with coroutines. Unladen Swallow – performance-orientated implementation based on CPython
List_of_Python_software
Software library for the C++ programming language
enumeration APIs cannot be made to fit the STL model without the use of coroutines, which were outside the C++ standard until C++20. Compiler compliance
Standard_Template_Library
Computing state associated with a point in time
ISBN 978-1492057895. 500 lines or less, "A Web Crawler With asyncio Coroutines" by A. Jesse Jiryu Davis and Guido van Rossum says "implementation uses
Event_(computing)
Markup language
two-level grammar for non-validated XML and a Conway-style pipeline of coroutines (lexer, parser, validator) for valid XML. The SGML productions in the
Standard Generalized Markup Language
Standard_Generalized_Markup_Language
Dialect of Lisp
programmer to create non-local control constructs such as iterators, coroutines, and backtracking. Continuations can be used to emulate the behavior of
Scheme_(programming_language)
Two functions defined from each other
multitasking is to instead use coroutines which call each other, where rather than terminating by calling another routine, one coroutine yields to another but
Mutual_recursion
Systems programming language
rather than statements, and includes constructs for exception handling, coroutines, and macros. It does not include a goto statement. The name is variously
BLISS
Subfield of cryptography
notebooks). Open-source package for MPC using a customized type of Python coroutines. The God Protocols Nick Szabo (archived). The SIMAP project; Secure Information
Secure multi-party computation
Secure_multi-party_computation
Prototype-based programming language
Introspection, reflection and metaprogramming Actor-based concurrency Coroutines Exception handling Incremental garbage collecting supporting weak links
Io_(programming_language)
Data-flow programming paradigm
roots go all the way back to Conway's seminal paper on what he called coroutines. FBP has undergone a number of name changes over the years: the original
Flow-based_programming
Unix shell
dependencies. Like Hamilton C shell, it avoids fork-based parallelism, using coroutines and Windows synchronization primitives in its place. Command-line interpreter
C_shell
Very high-level programming language
supposed erroneously that it is testing "is c zero" or "does c exist". Coroutine According to an interview in 1985, Griswold states that the term 'icon'
Icon_(programming_language)
Computer programming language
Classes, inheritance Higher-order functions Generators Cooperative threads (coroutines) Tail recursion Exception handling Automatic memory management (mainly
Squirrel (programming language)
Squirrel_(programming_language)
Free open-source software
University of British Columbia (Fine-Grain MPI (FG-MPI) which adds support for coroutines) MPICH received an R&D 100 Award in 2005 MPICH was awarded the 2024 ACM
MPICH
Comprehensive outline of core abstractions in the field of computer science
where program flow is determined by events or changes in state. Coroutines Coroutine, Yield, Resume Functions which can be paused and resumed, allowing
List of abstractions (computer science)
List_of_abstractions_(computer_science)
Software to run Windows and Linux simultaneously
Cooperative Linux turns the two different operating system kernels into two big coroutines. Each kernel has its own complete CPU context and address space, and each
Cooperative_Linux
COROUTINE
COROUTINE
COROUTINE
COROUTINE
Surname or Lastname
English
English : variant of Christley.Possibly also an Americanized form of German Kreisler.
Boy/Male
Gujarati, Hindu, Indian, Kannada, Sindhi, Tamil, Telugu, Traditional
King of Religion
Girl/Female
Muslim
Bright
Boy/Male
American, Anglo, Bengali, British, English, French, Gujarati, Hindu, Indian, Jamaican, Kannada, Marathi, Tamil
Men of Devon; Divine; Like a God
Boy/Male
British, English
From the Clear Brook; From the Bright Stream
Girl/Female
Tamil
Slender, Intelligent, Loving beauty, Desired
Boy/Male
British, English
Form of Reginald; Counsel Power
Girl/Female
Indian, Traditional
Beautiful
Boy/Male
Hebrew
God is gracious.
Girl/Female
Spanish American Greek French
Violet.
COROUTINE
COROUTINE
COROUTINE
COROUTINE
COROUTINE