0:00 / 0:00
Kotlin Coroutines Reloaded with Roman Elizarov
Java
276K subscribers • 13 videos on Hallway
- Recommended by 2 people: 2 in engineering communities.
- A classic. People kept recommending it from 2017 to 2021.
- Presented by Roman Elizarov
Advanced. Deep dive for people who know the field.
6.5K views9 years ago2 recommendations
Programming languagesSystems programmingKotlinConcurrency and parallelism
Roman Elizarov discusses the design challenges and implementation details of Kotlin coroutines, including support for CSP-style programming.
Support for coroutines shipped in Kotlin 1.1 in a massively redesigned form versus the original plan show by Andrey Breslav on JVMLS 2016. This talk assumes familiarity with previous year's presentation (only a short overview is given) and focuses on challenges that were encountered during the implementation of the original vision on Kotlin coroutines (a teaser: one of the code examples that were shown last year had a tricky semantic problem that would result in occasional hard-to-track bugs) and how addressing them led to the change from unambitious stackless coroutines to coroutines that can suspend execution at any stack depth and is able to fully support Go-like channels and CSP programming style in general with send, receive and select operations implemented in a library. The practical issues with implementation of full-stack coroutines on JVM are highlighted with trade-offs that Kotlin had to make as a result.Why it's here
2 people recommend thisWhat people say. Recommended for understanding the design proposals, scope patterns, and inner workings of Kotlin coroutines.
u/fangzhzhin r/Kotlin • Recommends
On “I really enjoy the "scope" pattern that Kotlin uses. Where to learn more?”
If you like the idea of CoroutineScope, CoroutineContext, suspend, you will like the Kotlin Coroutines Design proposal https://github.com/Kotlin/KEEP/blob/master/proposals/coroutines.md
Also this amazing video from Roman Elizarov.
link to this video