Deadlock
A deadlock occurs when a thread waits forever for a
resource that it will never got.
Anytime a thread tries to take more than one lock at the
same time, there is a potential for a deadlock to occur. A deadlock occur when
two different threads held a lock that the other one needs and then try to
acquire the lock held by the other thread. The result is that each thread
blocks permanently because it can never acquire the other lock.
Deadlock is a permanent blocking of a set of threads that
are competing for a set of resources. The most common error causing deadlock is
self deadlock or recursive deadlock: a thread tries to acquire a lock it is
already holding. Recursive deadlock is very easy to program by mistake.
Comments
Post a Comment