Mikhail Maslo
Coroutine explained yet again 60 years later
#1about 1 minute
Celebrating the 60-year history of coroutines
Coroutines were first introduced 60 years ago by Melvin Conway in his work on a COBOL compiler to optimize its structure.
#2about 7 minutes
How coroutines suspend and resume using state machines
Unlike regular functions, coroutines can suspend their execution and resume later, a process managed internally by a state machine.
#3about 4 minutes
Comparing stackful and stackless coroutine models
Stackful coroutines have their own dedicated stack and can suspend from nested functions, while stackless coroutines save their state on the heap.
#4about 7 minutes
Exploring symmetric and asymmetric coroutine control flow
Asymmetric coroutines return control to their caller upon suspension, whereas symmetric coroutines can transfer control directly to another coroutine.
#5about 7 minutes
How coroutines fit into modern threading models
Coroutines function as lightweight user-level threads that are managed within a process, making them more memory-efficient than kernel threads.
#6about 5 minutes
Using coroutines to write linear asynchronous code
Modern languages use coroutines with async/await syntax to transform nested callbacks into linear, more readable code for I/O-bound operations.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
16:04 MIN
Simplifying concurrency with structured coroutines
Moving from Java to Kotlin
29:07 MIN
Concurrency support from memory models to coroutines
The Design and Evolution of C++
20:38 MIN
Overcoming thread limitations with event-driven programming
Concurrency in Python
07:03 MIN
The evolution from threads to modern concurrency
Concurrency with Go
00:44 MIN
Defining concurrency, parallelism, and multitasking
Concurrency in Python
09:28 MIN
Exploring approaches to non-blocking software development
Java's Project Loom & Co - the end for reactive programming?
24:24 MIN
Writing concurrent code with async and await
Concurrency in Python
01:33 MIN
Concurrency as a natural model for software design
Concurrency with Go
Featured Partners
Related Videos
Concurrency with Go
Frank Müller
Concurrency in Python
Fabian Schindler
The Eventloop in JavaScript - How does it work?
Christian Woerz
Is reactive the new black? Imperative vs. reactive programming with Quarkus
Tatiana Chervova
Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.
Maxim Fateev
Java's Project Loom & Co - the end for reactive programming?
Jan Weinschenker
The Design and Evolution of C++
Bjarne Stroustrup
C++ in constrained environments
Bjarne Stroustrup
Related Articles
View all articles.gif?w=240&auto=compress,format)

.jpg?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.

Principal Software Engineer (Haskell) - Consensus - IOE: Cardano
Io Global
Remote
€83K
Senior
DevOps
Blockchain
Software Architecture
+1



Senior Developer, .NET, C#, JavaScript, COR7405
Corriculo Ltd
Remote
€55-65K
Senior
DevOps
PostgreSQL
TypeScript




