In software development, what is a deadlock?
A) A situation where two or more processes cannot proceed because each is waiting for the other to release a resource
B) A situation where the UI of an application becomes unresponsive
C) A situation caused by a syntax error in the source code
D) A situation where a process is waiting for an event that will never occur.