A simple solution to Lamport's concurrent programming problem with linear wait
Boleslaw Karol Szymanski · 1988
A new simple solution to the Lamport's concurrent programming problem is presented. The algorithm uses five distinct values of shared memory per process. The shared values can be stored either in a single variable or in three one-bit Boolean variables assigned to each process. The algorithm exhibits strong fairness property by enforcing the linear wait. It can be made immune to two types of errors typical to VLSI chip based multiprocessor systems: process failures and restarts, and read errors occurring during writes.