Mon 24 Jun 2024 16:00 - 17:40 at Directors - Kotlin Coroutines
General Information
Most mainstream programming languages now offer the async-await mechanism or coroutines abstraction for asynchronous programming. Kotlin stands out with coroutines that occupy a unique spot in the overall language design, using a single suspend modifier at the language level. Kotlin Coroutines are massively adopted by the Kotlin user base, being a recommended solution to concurrency in Android programming and offering concise syntax for reactive server-side applications.
In this tutorial, we will delve deep into Kotlin Coroutines. Starting with a high-level discussion of what coroutines are and how they work in Kotlin, we continue with talks dedicated to particular parts that require non-trivial concurrent algorithms: coroutines scheduler, channels, and synchronization primitives. We have recently redesigned most of these parts; much of the work was published at PPoPP and PLDI conferences last year. Finally, we will discuss the Lincheck framework designed to test all these algorithms for correctness.
During this tutorial, we would like to show the problems we have faced when improving Kotlin Coroutines, present all the work in one place, and gather people who develop concurrent algorithms and programming languages.
Details
Part 1
1.1 Introduction to Kotlin coroutines
1.2. Coroutines Scheduler
1.3. Synchronization and Communication primitives in Kotlin coroutines
Part 2
2.1. Lincheck: a framework for testing concurrent data structures on JVM (please bring your laptops!)
2.2. Open discussion
Mon 24 JunDisplayed time zone: Windhoek change
13:40 - 15:20 | |||
13:40 1h40mTutorial | Concurrent Algorithms in Kotlin Coroutines Tutorials Nikita Koval JetBrains |
16:00 - 17:40 | |||
16:00 1h40mTutorial | Concurrent Algorithms in Kotlin Coroutines Tutorials Nikita Koval JetBrains |