Re: JavaMemoryModel: Waits, Interrupts and Notify-s

From: Sylvia Else (sylviae@optushome.com.au)
Date: Fri May 23 2003 - 23:59:26 EDT


At 11:46 AM 24/05/2003 +1000, you wrote:
>[...]
> > Why do we have to allow spurious wakeups at all? If the underlying OS
> > threading causes spurious wakeups, then the JVM implementation should hide
> > them.
>
>I don't think that Pthreads allowed spurious wakeups just to be perverse;
>I believe (but can't say for sure) that they did it because mandating no
>spurious wakeups would have ugly consequences for the implementation on at
>least some platforms[*]. If that's too vague, should we ask Dave Butenhof?

It would be nice to know what the reasoning was. It might no longer be
relevant, or it might not be relevant to Java.

This is a change to the specification of wait(). Just because it won't
break programs that follow what people feels is the 'proper' programming
model doesn't mean that it won't break programs that are currently correct.

It also makes the distinction between notify() and notifyAll() at best at
matter of statistics.

Sylvia.

-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:45 EDT