|
Boost : |
From: William Kempf (sirwillard_at_[hidden])
Date: 2000-08-11 17:02:54
--- In boost_at_[hidden], "Greg Colvin" <gcolvin_at_u...> wrote:
> From: <scleary_at_j...>
> > > . . . The problem here, though, is
> > > correctness. An event based implementation is subject to
the "lost
> > > wakeup bug". See http://www.cs.wustl.edu/~schmidt/win32-cv-
1.html
> > > for a good article on the issue.
> >
> > That *is* a good article! I stand corrected. One question:
should our
> > definition of CV include a signal() operation?
> >
> > > BTW, I'm not new to the concept of a monitor.
> >
> > Neither am I, of course. :)
>
> And neither is Proffessor Schmidt
> http://www.cs.wustl.edu/~schmidt/PDF/monitor.pdf
Very true, and I've read this paper in the past. Notice, however,
that he's talking about a pattern, not a first class object. He
never advocates a first class monitor object over the mutex/condition
primitives. In fact, in his ACE library he includes the primitives
and only gives you a sketchy template for a monitor.
I think I need to re-emphasise here. I am _NOT_ against monitors. I
even think that a first class object for the concept may be
appropriate here, though the pattern is easy enough to follow with
just the primitives. What I am against is removing the mutex in
favor of such a monitor.
William Kempf
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk