Context Switching

Covers how threads switch, synchronize, and communicate, including race conditions, interrupts, and visibility concerns like volatile and ThreadLocal.