[cpp-threads] memory model
    Peter Dimov 
    pdimov at mmltd.net
       
    Fri Apr 29 12:28:18 BST 2005
    
    
  
Peter Dimov wrote:
> Doug Lea wrote:
>> I guess the question here is who we are most afraid of offending:
>>
>>  * People who would be unhappy that providing semantics for
>>    volatile might sometimes make existing usages more expensive
>>
>>  * People who would be unhappy adding another qualifier
>>    to mean "accessible by multiple threads without a lock",
>>    (that would in most cases have exactly the semantics
>>    of volatile).
>>
>>  * People who would be unhappy to have to declare every
>>    volatile-like variable using atomic templates (which
>>    avoids keywords but is programmer-hostile.)
>
> I think that these options do not cover the whole spectrum.
>
> There is also the point of view that [...]
On the other hand, 1.9/6 is clear that the observable behavior of the 
abstract machine includes reads and writes to volatile variables. This means 
that loads and stores from/to volatile variables must be observed in program 
order. If we assume that another thread is a legitimate observer, and I 
don't see anything that prohibits this, the standard already says that 
volatile obeys sequential consistency. QED. :-) 
    
    
More information about the cpp-threads
mailing list