CS322: Concurrent Processes and Programming

Language-Based Solutions to the Critical Section Problem

  1. We have seen that while semaphores do provide a solution to the critical section problem, they are not an ideal solution because of the possibility of programmer error. Therefore, considerable attention has been given to better ways of handling the shared resource problem - ways that allow the compiler to enforce mutual exclusion. We will look at two of these:

  2. The first major attempt to improve on the semaphore as a synchronization primitive was the critical region, proposed by Brinch Hansen and Hoare (1972). Its essential features are the following:

  3. Another useful approach is the monitor.


$Id: concurrency7.html,v 1.3 1998/03/03 23:42:05 senning Exp $

These notes were written by Prof. R. Bjork of Gordon College. In February 1998 they were edited and converted into HTML by J. Senning of Gordon College.