Overview
Explore the implementation patterns and performance implications of virtual threads in Java through a unique lens - Conway's Game of Life. Dive into the potential game-changing impact of virtual threads on the Java ecosystem, comparing their scalability and simplicity to traditional asynchronous programming models. Investigate the true costs of creating and scheduling thousands or even millions of virtual threads, examining memory impact, context switching frequency, and potential cache misses. Learn through a practical implementation of the Game of Life based on the communicating sequential processes (CSP) model, comparing virtual and native thread performance across different algorithms. Gain valuable insights and rules of thumb for effectively utilizing virtual threads in your Java projects, understanding their strengths and potential pitfalls in various scenarios.
Syllabus
Introduction
Why virtual threads
Memory footprint
Do you really want this
Why virtual thread
Blocking call
Context switch
Not preemptive
Communication channel
Frame graph
Channel implementation
Conclusions
Taught by
Devoxx