2013-04-11 11 views

答えて

10

n3376 1.9/6

抽象機械の処理は、信号の受信により中断され、 はどちら

あるオブジェクトの値 - タイプ揮発性STDの:: sig_atomic_tまたは

- ロックフリーの原子オブジェクト(29.4)

がシグナルハンドラの実行中に指定されておらず、 にないオブジェクトの値は、ハンドラによって変更されたこれらの2つのカテゴリが未定義になります。

ロックフリー29.4/1,2-

ATOMIC _..._ LOCK_FREEマクロは、一緒にグループ化 符号付きおよび符号なしの変異体を用いて、対応する原子の種類のロックフリー性を示します。このプロパティは、アトミックテンプレートの特殊化に対応する(部分的な) にも適用されます。 0の値は、型がロックフリーでないことを示します。 の値1は、型がロックフリーの場合があることを示します。値2は、型が常にロックフリーであることを示します。

関数atomic_is_lock_free(29.6)は、オブジェクトがロックフリーであるかどうかを示します。任意の与えられたプログラム の実行では、ロックフリークエリの結果は、同じ型のすべてのポインタに対して一貫していなければなりません。

+10

完全性を期すためには、 'std :: atomic x;' * x.is_lock_free() 'がtrueの場合は変数*を使用できることを意味します。 –

+0

ありがとうございました... – James

関連する問題