2017-05-17 10 views

答えて

2

C++ 11の方法は、std::atomic_int_32_tまたはstd::atomic_int(ご使用のシステムにsizeof(int) == 4)を使用することです。これらのタイプは、ヘッダ<atomic>から含めることができ、それらのリファレンスページはhereです。

+0

さて、変数を 'std :: atomic_int_32_t'型にしてから、' + = 'を使ってアトミックな加算を行います。これは 'OSAtomicAdd32'モデルからの変更であることに注意してください。これにより、任意の(適切に配置された)変数に対してアトミックな操作を行うことができます。 C++アトミックでは、アトミック変数に対してアトミック操作を行うことしかできませんが、そのような変数の*すべての操作はアトミックであることが保証されています。 –