AntiPattern
Deadlocks From Locking
deadlock-from-lock-contention
Deadlocks arise when code paths contend for multiple locks or retry on failures, so threads or async tasks wait on each other indefinitely; even “async locks” or sleep-based yielding don’t prevent circular waits.