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++
09:38 MIN
Using Kotlin Coroutines to simplify complex reactive code
Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code
20:38 MIN
Overcoming thread limitations with event-driven programming
Concurrency in Python
16:54 MIN
Asynchronous programming with futures and isolates
Dart - a language believed dead, experiences a new bloom
46:13 MIN
Audience Q&A on Kotlin features and learning resources
Route from Java to Kotlin
07:03 MIN
The evolution from threads to modern concurrency
Concurrency with Go
00:44 MIN
Defining concurrency, parallelism, and multitasking
Concurrency in Python
Featured Partners
Related Videos
Concurrency with Go
Frank Müller
Concurrency in Python
Fabian Schindler
The year 3000, a brief history of Web Development
Lorenzo Pieri
Java's Project Loom & Co - the end for reactive programming?
Jan Weinschenker
The Design and Evolution of C++
Bjarne Stroustrup
Is your backend a hodgepodge of queues, event stores and cron jobs? Durable Execution to the Rescue.
Maxim Fateev
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.



Software Engineer, DevOps, Python, AWS, COR7358B
Corriculo Ltd
Didcot, United Kingdom
Remote
€50-55K
Linux
DevOps
Python
+3

Senior Developer, .NET, C#, JavaScript, COR7405
Corriculo Ltd
Swindon, United Kingdom
Remote
€55-65K
Senior
.NET
DevOps
JavaScript
+3

Senior Full Stack Developer, React, Node.js, Python, London, COR7372
Corriculo Ltd
Charing Cross, United Kingdom
€80-90K
Senior
React
Python
Node.js
Next.js
+3




Systems Engineer, Python, AWS, COR7358
Corriculo Ltd
Didcot, United Kingdom
Remote
€50-55K
Linux
Python
Ansible
+2