Chapter 6: Multithreading & Concurrency
Concurrency enables modern high-throughput Java applications to exploit multi-core CPUs and manage asynchronous tasks. Understanding OS thread lifecycles, memory visibility, synchronization monitors, executor pools, coordinate synchronizers, and modern Java 21 virtual threads is essential for building scalable backend systems.
๐งญ Subtopics & Curriculumโ
Click anywhere on a topic card below to open that subtopic note, or use the Obsidian button to open it directly in the Obsidian app:
6.1 Thread Creation & 6 Lifecycle Statesโ
6.2 Thread Synchronization & Locksโ
6.4 Executors & Thread Poolsโ
6.7 Thread-Safe Collectionsโ
- What are thread-safe collection?
- Thread-Safe collection and Corresponding normal collection
- CopyOnWriteArrayList ("ArrayList")
- ConcurrentHashMap ("Hashmap")
- CopyOnWriteArraySet ("HashSet")
- ConcurrentSkipListMap ("TreeMap")
- ConcurrentSkipListSet ("TreeSet")
- ConcurrentLinkedQueue ("LinkedList")
- ConcurrentLinkedDeque ("ArrayDeque")
- What about Vector?
- Collections.synchronizedList()