How Do People Handle Concurrency?
summary
Overview of how different languages and runtimes handle concurrency: history and impact of Java Servlets (2.5), single-threaded models in Python and JavaScript, goroutines in Go, Kotlin coroutines for approachable reactive programming, GreenThreads and Project Loom changes for the JVM, functional languages and Akka actors as paradigm-level solutions, and reactive approaches. Concludes with the speaker’s takeaways on what to remember.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 2:09Interactive concurrency intro
- 3:16My concurrency view
- 5:44Hardware evolution and goals
- 7:57Servlets 2.5 challenges
- 9:43Servlets 3.0 and Jetty
- 12:14Command pattern uses
- 13:22Select and epoll
- 14:26Python's Global Interpreter Lock
- 16:13Asyncio and GIL
- 18:23FastCGI process management
- 19:06Memory Mattweiler Java 1.6
- 20:56Green threads and Project Loom
- 23:03Kotlin coroutines
- 26:37Nested coroutine management
- 28:02Go concurrency approach
- 29:07Erlang actor model
- 30:36Scrum history
- 31:45System complexity comparisons
- 33:30Q&A
related talks
46mTour d’horizon de la gestion de la concurrence dans différents langages
40mEverything Everywhere All at Once
39mLet's talk concurrency
01h 16mConcurrency Approaches: Past, Present, and Future
01h 01mRoundtable: Concurrency
31mThe Concurrency Triangle
50mFlavors of Concurrency in Java
44mConcurrent Affairs: Procedural Programming Unlocked
