~/talk

Multiprocessing evolution & virtual threads in Java

Talkat Craft Conference 2024 · 2024-05-30..05-31· [java]
slides:none on file

Virtual threads arrive as JDK 21 GA offering M:N mapping of virtual-to-platform threads, tiny allocation (stacks on the GC heap) and cheap creation so you can run millions of tasks. Scheduler mounts/unmounts virtual threads to platform threads; pinning (e.g. synchronized) forces platform threads so prefer java.util.concurrent locks. Use the newVirtualThreadPerTaskExecutor and you get real gains: a demo runs 1,000 simulated network sleeps in 1000 requests: 10s vs 1s. Spring Boot 3.2 supports them via a simple flag; Helidon already adopts them.

AI-written summary · about

  1. 0:00Introduction
  2. 1:07Virtual threads journey
  3. 2:14Concurrency vs parallelism
  4. 3:58Thread challenges deep dive
  5. 8:12Thread pool limitations
  6. 9:16Async I/O and event loops
  7. 13:28Async I/O problems and fixes
  8. 16:15Reactive programming issues
  9. 18:44Virtual threads in Java
  10. 22:37Virtual threads for scalability
  11. 24:24Memory impact and internals
  12. 26:31Mounting unmounting pinning
  13. 29:19Profiling virtual threads
  14. 30:01Thread approaches demo
  15. 31:49Virtual threads in Spring Boot
  16. 32:31Q&A
~/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.