Re: JavaMemoryModel: Semantics for yield and sleep

From: Clifford Click (
Date: Tue Jan 08 2002 - 16:57:39 EST

"Boehm, Hans" wrote:
> I think the official Thread.yield() spec curently states:
> Causes the currently executing thread object to temporarily pause and allow
> other threads to execute.
> The problem is that the other threads may presuambly be system threads, and
> thus there may not be visible progress. In fact gcj, for example,
> implements this with sched_yield() which, at least on Linux, can yield to
> another process entirely. (I'm not sure what else it could reasonably do on
> Linux.) I suspect the standard VMs do something similar. Cliff?

Who, me? What knoweth I about how Thread.yield()?
I think we play a few games to help with VolanoMarks,
but no guarentees about progress that I know of.
I know we try hard to make it do something reasonable,
but I doubt there's anything provable about progress
in that code.


Cliff Click                  Compiler Designer and Researcher
cliffc at            Java Software
(408) 276-7046               MS USCA14-102
JavaMemoryModel mailing list -

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