ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
atomic_t型はint型変数一つを含むstructのtypedefとして定義される。
従って、使用する際はatomic_tを通常の変数型のように使用し、アトミック変数を宣言して用いることになる。
atomic_t var;
アトミック変数は宣言しただけでは初期化されないため、初期化する必要がある。
宣言時に初期化するには、ATOMIC_INITマクロを用いる。ATOMIC_INITマクロは、arch/arm/include/asm/atomic.h で定義されている。
#define ATOMIC_INIT(i) { (i) }
従って、次のようにして宣言すれば、宣言時点で初期化される。
atomic_t var = ATOMIC_INIT(0);
または、atomic_set関数を用いて初期化することもできる。
例えば、Android(ARM)用の実装では、次のような関数やマクロがある。
関数はすべてstaticのinline関数である。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます