Re: JavaMemoryModel: Semantics for yield and sleep

From: Clifford Click (cliff.click@sun.com)
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

--
Cliff Click                  Compiler Designer and Researcher
cliffc at acm.org            Java Software
(408) 276-7046               MS USCA14-102
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



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