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
03:26 MIN
Simplifying concurrency with structured coroutines
Moving from Java to Kotlin
04:35 MIN
Concurrency support from memory models to coroutines
The Design and Evolution of C++
03:46 MIN
Overcoming thread limitations with event-driven programming
Concurrency in Python
04:10 MIN
The evolution from threads to modern concurrency
Concurrency with Go
03:52 MIN
Defining concurrency, parallelism, and multitasking
Concurrency in Python
03:47 MIN
Exploring approaches to non-blocking software development
Java's Project Loom & Co - the end for reactive programming?
05:04 MIN
Writing concurrent code with async and await
Concurrency in Python
05:30 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
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
Is reactive the new black? Imperative vs. reactive programming with Quarkus
Tatiana Chervova
C++ in constrained environments
Bjarne Stroustrup
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
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.








DMG Mori AG
Intermediate
JIRA
Linux
Docker
Confluence
Continuous Integration
