Deadlock Bugs
This lesson introduces deadlocks with examples and then presents conditions for a deadlock to occur.
We'll cover the following
Beyond the concurrency bugs mentioned in the previous lesson, a classic problem that arises in many concurrent systems with complex locking protocols is known as deadlock. Deadlock occurs, for example, when a thread (say Thread 1) is holding a lock (L1
) and waiting for another one (L2
); unfortunately, the thread (Thread 2) that holds lock L2
is waiting for L1
to be released. Here is a code snippet that demonstrates such a potential deadlock:
Get hands-on with 1400+ tech skills courses.