Re: JavaMemoryModel: Waits, Interrupts and Notify-s

From: Alexander Terekhov (TEREKHOV@de.ibm.com)
Date: Sat May 24 2003 - 15:41:44 EDT


Sylvia Else <sylviae@optushome.com.au> wrote:
[...]
> It would be nice to know what the reasoning was. It might no longer be
> relevant, or it might not be relevant to Java.

Well, you might want to take a look at:

http://terekhov.de/DESIGN-futex-CV.txt
http://terekhov.de/DESIGN-futex-CV.cpp
http://terekhov.de/DESIGN-futex-CV.txt-with-async.cancelable-wait.txt

This implementation isn't suitable for the "realtime" stuff, BTW.

regards,
alexander.

Sent by: owner-javamemorymodel@cs.umd.edu
To: javamemorymodel@ringding.cs.umd.edu
cc:
Subject: Re: JavaMemoryModel: Waits, Interrupts and Notify-s

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

-------------------------------
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