previous | start | next

Critical Sections

A critical resource is a resource that is accessible by two or more threads, but which can only be used by one thread at a time.

A critical section is the portion of a thread's code which accesses a critical resource.

The critical section problem is the problem of providing a way for threads to execute their critical section code so that the following 3 conditions are satisfied:

  1. Mutual Exclusion
  2. Bounded Waiting
  3. Progress


previous | start | next