A deadlock is a state where a set of threads are permanently blocked because each thread holds a resource and waits for another resource held by another thread in the cycle. The distractors are incorrect because garbage collection and memory leaks relate to memory management issues, not thread synchronization conflicts.