Concurrency Options on the JVM
summary
Contains concrete details: which thread pools (single, cached, fixed, ForkJoinPool), how to set keepAlive and daemon threads, when to call shutdown and awaitTermination, and the danger of pool-induced deadlock when a bounded pool blocks on work that needs the pool. Covers Executors.newCachedThreadPool/newFixedThreadPool, ForkJoin common pool behavior, Scala akka actors, Clojure core.async, Futures vs CompletableFuture, jstack for diagnostics, and always use timeouts.
AI-written summary · about
chapters (13)
- 0:00Introduction to concurrency
- 4:48Managing thread resources
- 6:58Proper shutdown procedures
- 10:11The Actor model abstraction
- 11:51Agent-based concurrency
- 13:44Channels and streams
- 15:09Future abstractions
- 17:55Completable Futures
- 21:25Deadlock and pool sizing
- 25:27Thread pool configuration
- 30:30Fork-Join pools
- 33:13Handling failures and debugging
- 37:33Concurrency best practices
related talks
01h 02mAn introduction to multithreading in C++20
52mBulletproof Java Enterprise Applications for The Hard Production Life
31mA JVM threading model for the containerized times
07mBest Practices with JVMs in Containers
46mJava in a container: operational specifics
50mPerformance: Avoiding Pitfalls, Diagnosing Issues & Scaling for Growth
17mDevOps Speakeasy
46mProfiling your Java Application A Beginner’s Guide
