2011-07-27 13 views
9

1つのチャンネルに9 E2Eビデオ(ハーブサッターが入っています)はC++で0xの場合はatomic<int> number++です。誰かがそれが最終的なC++ 11標準の仕組みであることを確認できますか?std :: atomicの++アトミックです<int>

答えて

14

標準であり、すべての標準積分特殊化atomic<T>のすべての操作はアトミックです。

を含む式はすべてアトミックであることを意味するものではありません。

number = number * 2; 

二つの動作です:

temporary = number * 2; 
number = temporary; 

それらのそれぞれは、原子ですが、一緒にそうではありません。これはトランザクション/クリティカルセクションのためのものです。

+0

so number = number * 2;数字=数字+47。アトミックですか? – NoSenseEtAl

+7

'atomic 'に対して*定義されたすべての操作は、 'number * = 2;'や 'number + = 47;'のようにアトミックです。 –

+3

number = number * 2は* 2 *演算です。 *それぞれの原子は原子ですが、一緒になっていません。これが「トランザクション」の目的です。 – spraff

関連する問題