~/talk

Flavors of Concurrency in Java

Talkat Spring I/O 2016 · 2016-05-19..05-20· [concurrency, java]
slides:none on file

Compares five concrete JVM solutions for a single “query many search engines and return the fastest reply” problem and shows code for each: raw Threads, Executors/CompletionService, ForkJoin/parallelStream, CompletableFuture. Demonstrates gotchas: parallelStream uses the JVM common ForkJoin pool and blocks whole pool on network I/O unless managed via ManagedBlocker; CompletableFuture composes asynchronous steps but can still exhaust threads; Akka actors scale to millions of lightweight entities; Quasar fibers use bytecode instrumentation to suspend stacks and enable huge concurrency; STM offers atomic in-memory transactions.

AI-written summary · about

  1. 0:00Intro
  2. 2:13REVOLUTIONARY DEVELOPER TOOLS
  3. 3:01WHY DO WE CARE?
  4. 5:16CONCURRENCY PARALLELISM
  5. 8:26THEORY
  6. 8:42PRACTICE
  7. 12:08WHY THREADS
  8. 13:30COMMUNICATION
  9. 16:56PROBLEM ORIENTED PROGRAMMING
  10. 21:42TAKEAWAY: THREADS
  11. 23:18THREAD POOLS
  12. 28:32CONCERNS: EXECUTORS
  13. 29:48TAKEAWAY: EXECUTORS
  14. 30:53FORK JOIN FRAMEWORK
  15. 36:26TAKEAWAY: FORK JOIN POOL
  16. 37:15COMPLETABLE FUTURES
  17. 39:23Using types
  18. 42:46ACTOR SYSTEM
  19. 43:36TYPED ACTORS
  20. 44:03TAKEAWAY: ACTORS
  21. 46:04QUASAR FIBERS
  22. 48:11TAKEAWAY: FIBERS
  23. 48:45TRANSACTIONAL MEMORY
  24. 50:01TAKEAWAY: TX MEMORY
  25. 50:30CONCLUSION
  26. 51:32Find me and chat with me!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.