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
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
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
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
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
programming. Protothreads function as stackless, lightweight threads, or coroutines, providing a blocking context cheaply using minimal memory per protothread
Protothread
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)
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
Early object-oriented programming language
introduced objects, classes, inheritance and subclasses, virtual procedures, coroutines, and discrete event simulation, and featured garbage collection. Other
Simula
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++
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)
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)
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)
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
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
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
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
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
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)
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
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
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
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
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++
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
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
Concept in multithreading
function to take control. Coroutines that explicitly yield allow cooperative multitasking. Computer programming portal Coroutines Java (software platform)
Yield_(multithreading)
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
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
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)
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)
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
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
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
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
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)
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
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
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
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+
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
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
Lightweight programming language
(automatic conversion between string and number values at run time), coroutines (cooperative multitasking) and dynamic module loading. The classic "Hello
Lua
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
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
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
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
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
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)
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)
which can be run on multiple processors or functional units. Continuation Coroutine Fiber (computer science) Micro-thread (multi-core) Protothread Helmut
Microthread
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
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
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
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
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
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)
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
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
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
C/C++ specifier referring to constant expression
return 5; } int numbers[getFive() + 7]; // Creates an array of 12 ints Coroutines may not be constexpr. Historically, constexpr functions had far more restrictions
Constexpr
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
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
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
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)
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
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)
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
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)
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)
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++
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)
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)
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
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
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
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
Dynamic programming language
metaprogramming facilities Designed for parallel and distributed computing Coroutines: lightweight green threading Automatic generation of code for different
Julia_(programming_language)
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
Database server and application server
a "hot standby" server. There are no locks. Tarantool uses Lua-style coroutines and asynchronous I/O. The result is that application programs or stored
Tarantool
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)
Prototype-based programming language
Introspection, reflection and metaprogramming Actor-based concurrency Coroutines Exception handling Incremental garbage collecting supporting weak links
Io_(programming_language)
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
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)
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)
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
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
S60 – CPython port to the S60 platform. Stackless Python – CPython with coroutines. Unladen Swallow – performance-orientated implementation based on CPython
List_of_Python_software
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)
Programming language descended from Icon
functional language which is also expression-based but only for client-side Coroutine Generators Continuation Clinton Jeffery (August 1998). "Closure-Based
Unicon_(programming_language)
Specifications for embedded operating systems within automotives
and enhanced tasks. Basic tasks never block; they "run to completion" (coroutine). Enhanced tasks can sleep and block on event objects. The events can
OSEK
Prolog implementation
essentials for constraint solvers, such as coroutines, attributed variables, and unbounded integers. The block coroutining declaration is particularly efficient
SICStus_Prolog
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
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
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
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
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)
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
COROUTINE
COROUTINE
COROUTINE
COROUTINE
Boy/Male
Indian, Tamil
Leading Light
Girl/Female
Hindu
Fish which moves with ease everywhere bestowing Love and peace over her surroundings getting pride to all, Paradise, A gem, Precious stone
Girl/Female
Tamil
Worthy, Respectable
Surname or Lastname
English, French, and German
English, French, and German : variant of Beringer.
Boy/Male
Tamil
Ratnakundala | ரதà¯à®¨à®•à¯à®‚டல
Deeptimate wearing gem-studded earrings
Boy/Male
Muslim
Leader of the religion (Islam)
Girl/Female
Arabic, Australian, Punjabi
Young Girl; Young Woman
Girl/Female
Australian, French
Born at Christmas
Boy/Male
Indian
From the beginning
Girl/Female
American, Australian, British, English
To Open; Opening Buds of Spring
COROUTINE
COROUTINE
COROUTINE
COROUTINE
COROUTINE