At 11:36 AM +1000 9/26/01, David Holmes wrote:
> > A single threaded program is always correctly synchronized.
>> Two threads that run in parallel but touch no data in common are
>> correctly synchronized, no matter what synchronization they contain.
>Sure. But here's the example that was being discussed:
>>>For example, consider:
>>>Initially, x = y = 0
>>> if x != 0
>>> y = 1
>>> if y != 0
>>> x = 1
>I see two threads, each accessing data modified by the other. That's a data
If executed in a sequentially consistent manner, there is no data
race, because nether thread will see a non-zero value and thus nether
thread performs a write.
If there is no data race when the program is executed in a
sequentially consistent fashion, then there is no data race and the
program behaves as though it was executed with sequentially
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:35 EDT