previous | start | next

Progress

Only processes trying to gain access to the critical section should affect which process will succeed and one process should be allowed to gain access.

That is, the decision about which process gains access should not be delayed indefinitely. (No "deadlock".)

Example of violation of the Progress requirement

The "consumer" thread that tries to print x more times than the producer changes x is an example.

The result is that the "consumer" hangs waiting for the producer to make another change. No progess is made since the producer thread is no longer trying to access and change x, the critical resource.



previous | start | next