having watched those two videos:
"KotlinConf 2017 - Introduction to Coroutines by Roman Elizarov":
"KotlinConf 2017 - Deep Dive into Coroutines on JVM by Roman Elizarov":
has helped me a lot more than reading all the [Concurrency] discussions, pitches and proposal reviews in understanding the concepts of concurrency. The videos are not too long and easy to follow, I would say one doesn't need any knowledge of Kotlin to understand them (given experience with Swift, Kotlin is not too different from Swift).
I really regret having not watched those videos earlier, I quite like their approach to async/await and their preference for sequential execution of async code as "the normal case" and concurrent execution as "the exception" how Roman states this in his first video. Somebody said in one of the pitches or reviews he doesn't like the amount of "await" sprinkled all over the place in the kitchen examples of structured concurrency. What Kotlin has with the
suspend modifier for their functions here appears very smart to me.