std::atomic_ref<T>::is_lock_free
From cppreference.com
< cpp | atomic | atomic ref
| bool is_lock_free() const noexcept; |
(C++20以降) | |
このオブジェクトに対するアトミック操作がロックフリーであるかどうかをチェックします。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
true このオブジェクトに対するアトミック操作がロックフリーである場合、それ以外の場合は false。
[編集] 注記
std::atomic_flag を除くすべてのアトミック型は、ロックフリーアトミックCPU命令を使用するのではなく、ミューテックスまたはその他のロック操作を使用して実装される場合があります。アトミック型は、**時々**ロックフリーであることも許可されています。例えば、特定のアーキテクチャで自然にアトミックなのはアライメントされたメモリアクセスのみである場合、同じ型の misaligned なオブジェクトはロックを使用する必要があります。
C++標準は、ロックフリーアトミック操作がアドレスフリー(すなわち、共有メモリを使用したプロセス間通信に適している)であることも推奨していますが、必須ではありません。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| [static] |
型が常にロックフリーであることを示す (public static member constant) |