Skip to Main Content
A new solution to the problem of deadlock-free mutual exclusion of N processes is given which uses less shared space than earlier solutions (one variable which may take on N values and N binary variables). The solution uses only indivisible reads and writes of shared variables for communication and is symmetric among the processes. Two definitions of symmetry are developed. The strong definition of symmetry requires that all processes be identically programmed and be started in identical states. However, this definition does not allow any solution to the problem of deadlock-free mutual exclusion using only reads and writes. The weaker definition admits the solution given. It is also shown that under weak symmetry N shared variables, at least one of which must be able to take on N values, are necessary.