プログラミング言語C/C++が提供するatomic変数*1とそのコピー操作に関するメモ。 2個のatomic変数間における “atomicなコピー操作” は提供されない。通常は “atomic変数からの読込(load)”+“atomic変数への格納(store)” で代用すればよい。ただし、下記コードのような2つのコピー操作が並行実行された場合、load/store操作のインターリーブが起こりうることに留意。*2 // C++11 #include <atomic> using namespace std; // C11 #include <stdatomic.h> atomic_int x = ATOMIC_VAR_INIT(0); // x = 0 atomic_int y = ATOMIC_VAR_INIT(1); // y = 1 void thread1() { atomic_s
プログラミング言語CおよびC++の標準規格(ドラフト)に存在していたジョーク文。 atomic操作ライブラリ記述箇所に下記脚注あり。*1 Atomic objects are neither active nor radioactive. Among other implications, atomic variables shall not decay. 関連URL JTC1/SC22/WG21 N2427 C++ Atomic Types and Operations JTC1/SC22/WG21 N3118 C++ FCD Comment Status, CA16 JTC1/SC22/WG14 Defect Report #404 *1:おまけ:atomic=原子力の, radioactive=放射性の, decay=放射性崩壊
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く