RE: JavaMemoryModel: Waits, Interrupts and Notify-s

From: David Holmes (dholmes@dltech.com.au)
Date: Sun May 25 2003 - 19:13:09 EDT


Sylvia Else wrote:
> when will the propagation occur?
>
> 1. At the time of the original notification (unlikely -
> requires prescience).
> 2. At the time of the interrupt() method call (although the
> calling thread
> may not have the monitor locked).
> 3. In the interrupted thread, before it locks the monitor again.
> 4. In the interrupted thread, after it locks the monitor again.
> 5. At some other time/place.
>
> My concern is that a program could be sensitive to the
> timing

My view is that whatever the VM does to ensure no lost notification,
shouldn't produce any observable change in behaviour that would not
have been observable (as per the spec) if the notification had been
received by an alternate thread in the first place. Notwithstanding
any scheduling order differences that no program should be relying
upon anyway.

Now making that clear in the spec is another matter. I certainly don't
think it is part of the spec for interrupt() though, but a matter for
wait().

David Holmes

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