Parallel and Concurrent Programming

What really happens under coroutines: threads, race conditions, locks and atomics on the JVM — and how dispatchers and mutex pick up these concepts again in the coroutines world. Builds on "Kotlin Introduction", "Kotlin OOP" and basic coroutines knowledge.

0 / 10 completed

Module 1 · Threads on the JVM
011. Parallelism vs. ConcurrencyLESSON
—2. Creating Threads: Thread and RunnableLOCKED
—3. Controlling Threads: join, sleep and Daemon ThreadsLOCKED
Module 2 · Race Conditions and Synchronization
—4. Race Conditions: When Shared State Goes WrongLOCKED
—5. synchronized and LocksLOCKED
—6. Atomic Operations: AtomicsLOCKED
—7. Deadlocks and Other PitfallsLOCKED
Module 3 · From Threads to Coroutines
—8. Dispatchers: How Coroutines Use ThreadsLOCKED
—9. Mutex Instead of synchronized in CoroutinesLOCKED
—10. Mini Project: Concurrent Inventory WithdrawalLOCKED
10 lessonsModule 1 · Threads on the JVMModule 2 · Race Conditions and SynchronizationModule 3 · From Threads to CoroutinesProgress: local, no account required