From: William Kempf (sirwillard_at_[hidden])
Date: 2000-08-04 11:29:44


--- In boost_at_[hidden], scleary_at_j... wrote:
> > As for those wanting to start with vast definitions...
> >
> > I'm not sure why we need to do this. Most definitions are well
known
> > to anyone who's done concurrent programming. Unless we're
striving
> > to come up with new jargon there's nothing to define.
>
> Everyone knows what a "mutex" is. However, the problem comes with
the
> precise definition of a mutex. Is it recursive (i.e., can a thread
lock it
> if it already owns it)? Is it statically-initializable (so it can
be used
> in program startup/shutdown code)? These questions demonstrate the
need for
> a hard definition even of the simplest of synchronization
primitives.

The definition is simple. A mutex is a synchronization primitive
used to allow exclusive access to a shared resource. What you're
talking about isn't the definition, but the interface and semantics.
The design, if you will. This is *precisely* where I'm trying to go
here. I gave a small set of primitives to start with. Now I've
narrowed it even further to a single primitive. Let's decide to
start here and discuss the design and implementation of this
primitive.