Two
processes waiting to update the rows of a table, which are locked by other
processes then deadlock arises.
In a
database environment this will often happen because of not issuing the proper
row lock commands. Poor design of front-end application may cause this
situation and the performance of server will reduce drastically.
These
locks will be released automatically when a commit/rollback operation performed
or any one of this processes being killed externally.