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
Unlock full access
Log in or set up an account to access this feature and more.
04:35 MIN
Concurrency support from memory models to coroutines
The Design and Evolution of C++
Unlock full access
Log in or set up an account to access this feature and more.
03:46 MIN
Overcoming thread limitations with event-driven programming
Concurrency in Python
Unlock full access
Log in or set up an account to access this feature and more.
04:10 MIN
The evolution from threads to modern concurrency
Concurrency with Go
Unlock full access
Log in or set up an account to access this feature and more.
03:52 MIN
Defining concurrency, parallelism, and multitasking
Concurrency in Python
Unlock full access
Log in or set up an account to access this feature and more.
03:47 MIN
Exploring approaches to non-blocking software development
Java's Project Loom & Co - the end for reactive programming?
Unlock full access
Log in or set up an account to access this feature and more.
05:04 MIN
Writing concurrent code with async and await
Concurrency in Python
Unlock full access
Log in or set up an account to access this feature and more.
05:30 MIN
Concurrency as a natural model for software design
Concurrency with Go
Unlock full access
Log in or set up an account to access this feature and more.
Featured Partners
Related Videos
Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.
Maxim Fateev
Is reactive the new black? Imperative vs. reactive programming with Quarkus
Tatiana Chervova
From Punch Cards to AI-assisted Development
Francesco Ciulla
Concurrency with Go
Frank Müller
Concurrency in Python
Fabian Schindler
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.









DMG Mori AG
Intermediate
JIRA
Linux
Docker
Confluence
Continuous Integration