Concurrency Patterns and features found in Java, through multithreaded programming.
- Threads and Runnables
- Locks
- Synchronizers
- Synchronized Collections
- Concurrent Collections
- Executors
- Atomics
- Futures
- Fork/Join Framework
- Parallel Streams
- Java Memory Model
- Protect Shared State
- Atomic Compound Actions
- Lock Split
- Fixed Lock Ordering
- Thread Local Confinement
- Immutable Object
- Safe Lazy Initialization
- Safe Publishing
- Resource Pool
- Condition Queues
- Background Task Executor
- Task Cancel
- Producer-Consumer
- Task Convergence
- Non-Blocking with Atomics
- Controlled Concurrent Initialization
- Parallel Divide and Conquer
Patterns and Algorithms inspired by the Java Concurrency in Practice book.