Lecture Notes for Concurrent Programming

10 June 2003 - Atomicity and Synchronization


To understand the conflict between mutual exclusion and conditional synchronization, imagine that a thread is delayed inside an atomic sequence waiting for a condition (a predicate) to become true. Because the thread is inside an atomic sequence, no other thread can execute, which means there's no way for the variables in the predicate change and the predicate remains false.

This situation is an example of deadlock.


This page last modified on 11 June 2003.