Latches operate in memory as atomic spin locks designed to serialize access to internal SGA data structures with minimal context switching overhead.
Enqueues (such as TX transaction locks and TM DDL locks) support shared, exclusive, and row-exclusive modes with ordered queues and deadlock detection. Latch bottlenecks saturate CPU cores, whereas enqueue waits surface as application locking and blocking cascades.