This is the first known correct software solution to the critical section problem for n-processes with a lower bound of n-1 turns presented by Eisenberg and McGuire.
Algorithm
All the n-processes share the following variables:
The variable turn, is set arbitrarily to a number between 0 and n-1 at the start of the algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
.
The flags variable, for each process is set to WAITING whenever it intends to enter the critical section
Critical section
In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution. A critical section will usually terminate in fixed time, and a thread, task or process will have to wait a fixed time to...
. flags takes either IDLE or WAITING or ACTIVE.
Initially the flags variable for each process is initialized to IDLE.
The source of this article is wikipedia, the free encyclopedia. The text of this article is licensed under the GFDL.