| | |
Summary: A FineGrained Solution to the Mutual Exclusion
Problem \Lambda
James H. Anderson y
Department of Computer Science
The University of Maryland at College Park
College Park, Maryland 207423255
December 1991, Revised August 1992
Abstract
We present a ``finegrained'' solution to the mutual exclusion problem. A program is fine
grained if it uses only singlereader, singlewriter boolean variables and if each of its atomic
operations has at most one occurrence of at most one shared variable. In contrast to other
finegrained solutions that have appeared in the literature, processes in our solution do not
busywait, but wait on one another only by executing await statements. Such statements can
be implemented in practice either by means of context switching or by means of ``local'' spin
ning. We show that our algorithm is correct even if shared variables are accessed nonatomically.
Keywords: Busywaiting, mutual exclusion, nonatomic operations, shared data, synchroniza
tion primitives.
CR Categories: D.4.1, D.4.2, F.3.1
1 Introduction
The mutual exclusion problem is a paradigm for resolving conflicting accesses to shared resources
|