Главная
Study mode:
on
1
Intro
2
Async the Kotlin way (prototype)
3
Suspending functions: use
4
Suspending functions: declare (prototype)
5
Suspending functions: implement (prototype)
6
A problematic example
7
stack unwind convention
8
A solution (0)
9
Call/declaration fidelity
10
A solution (1)
11
Tail suspension
12
A solution (2)
13
Abstraction
14
A solution (4)
15
Recap steps to solution
16
The final touch: await extension
17
Coroutine builders (prototype)
18
Arbitrary suspending calls
19
Stackless vs Stackful coroutines
20
The problem with async
21
Composability: evolved
22
asyncul (prototype)
23
The actual Continuation interface
24
Thread confinement vs coroutines
25
Stack traces in exceptions
26
Library evolution: already there
27
Library evolution: WIP
28
A closing note on terminology
29
Experimental status of coroutines
Description:
Explore the evolution and implementation challenges of Kotlin coroutines in this 47-minute Java conference talk. Delve into the redesigned coroutine support shipped in Kotlin 1.1, examining the shift from stackless to full-stack coroutines capable of suspending execution at any depth. Learn about the semantic issues encountered during implementation, the solutions developed to address these challenges, and how Kotlin achieved support for Go-like channels and CSP programming style. Gain insights into practical JVM implementation issues, trade-offs made by the Kotlin team, and the resulting impact on coroutine functionality. Discover key concepts such as suspending functions, coroutine builders, thread confinement, stack trace handling in exceptions, and library evolution. Understand the experimental status of coroutines and their potential for future development in Kotlin programming.

Kotlin Coroutines: From Stackless to Full-Stack Implementation - Challenges and Solutions

Java
Add to list
0:00 / 0:00