名前空間
変種
操作

std::atomic_ref<T>::is_lock_free

From cppreference.com
< cpp‎ | atomic‎ | atomic ref
 
 
並行性サポートライブラリ
スレッド
(C++11)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
協調的なキャンセル
排他制御
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
安全なメモリ解放 (Safe Reclamation)
(C++26)
ハザードポインタ
アトミック型
(C++11)
(C++20)
アトミック型の初期化
(C++11)(C++20で非推奨)
(C++11)(C++20で非推奨)
メモリオーダー
(C++11)(C++26で非推奨)
アトミック操作のためのフリー関数
アトミックフラグのためのフリー関数
 
 
bool is_lock_free() const noexcept;
(C++20以降)

このオブジェクトに対するアトミック操作がロックフリーであるかどうかをチェックします。

目次

[編集] パラメータ

(なし)

[編集] 戻り値

true このオブジェクトに対するアトミック操作がロックフリーである場合、それ以外の場合は false

[編集] 注記

std::atomic_flag を除くすべてのアトミック型は、ロックフリーアトミックCPU命令を使用するのではなく、ミューテックスまたはその他のロック操作を使用して実装される場合があります。アトミック型は、**時々**ロックフリーであることも許可されています。例えば、特定のアーキテクチャで自然にアトミックなのはアライメントされたメモリアクセスのみである場合、同じ型の misaligned なオブジェクトはロックを使用する必要があります。

C++標準は、ロックフリーアトミック操作がアドレスフリー(すなわち、共有メモリを使用したプロセス間通信に適している)であることも推奨していますが、必須ではありません。

[編集]

[編集] 関連項目

型が常にロックフリーであることを示す
(public static member constant) [編集]
English 日本語 中文(简体) 中文(繁體)