Java Concurrency
Running Java on more than one thread without corrupting the data underneath.
Java threads: starting work that runs alongside your code, the states a thread passes through, and platform vs virtual threads.
Intermediate to Advanced8 cards · 5 qnot started
Why shared state breaks between threads: race conditions, non-atomic operations, visibility, and choosing volatile, atomics or locks.
Intermediate to Advanced9 cards · 5 qnot started
Locks in Java: what synchronized guarantees, which object it locks, reentrancy, ReentrantLock, and what a lock cannot protect.
Intermediate to Advanced9 cards · 5 qnot started
Deadlock in Java: how two locks taken in opposite orders stop a program, the four conditions, lock ordering, livelock and starvation.
Intermediate to Advanced8 cards · 5 qnot started
Executors and futures: running tasks on a thread pool, getting results back, CompletableFuture, and shutting a pool down.
Intermediate to Advanced9 cards · 5 qnot started