“Android Suspenders by Chris Banes” talk from KotlinConf'18 is now available on youtube:
https://www.youtube.com/watch?v=P7ov_r1JZ1g▾
Even if you are not an Android developer, this talk has a good explanation of coroutines mental model,
CoroutineScope
rationale and
kotlinx.coroutines
API overview in 30 minutes.
👍 17
❤️ 3
k
kirillrakhman
10/12/2018, 1:42 PM
very nice talk overall
v
viorgu
10/12/2018, 2:54 PM
unfortunately at the 22:05 mark he seems to run into the the same misconception with async that I described here https://github.com/Kotlin/kotlinx.coroutines/issues/691
The try-catch does not fully handle the exception in that case, the exception is caught but it still propagates to the parent scope.
@elizarov if this behavior is to stay in the release version is really recommend that the documentation for exception handling should make this very clear, reading the "Exception propagation" section there might leave you the impression that async will work the same way even without GlobalScope
e
elizarov
10/12/2018, 2:57 PM
It has to stay this way or otherwise async-based parallel decomposition is not reliable.
We have to teach people that they should use async only to do multiple things in parallel. We’ll revise our docs to make it absolutely clear (maybe repeat it multiple times)