一个存储原子int的数组

时间:2017-04-10 19:39:31

标签: c++ arrays multithreading atomic

我有一个要求,其中一个int数组假设在20个线程中共享。 线程可以对数组值执行递增/递减。

最初我在阵列上使用mutex锁定/解锁来进行同步共享。它有效,但它不是安全的执行。因此,计划切换到std::atomic

有没有办法可以创建像

这样的东西
std::array<std::atomic<int>, 10> array;

OR 任何其他方式,其中&#34;一个原子价值数组&#34;可以创建吗?

1 个答案:

答案 0 :(得分:1)

以下代码解决了这个问题:

std::array<std::atomic<int>, 10> array={};

我遇到编译器问题,但在为c ++ 11设置标志和库之后,它得到了解决。

感谢您的所有评论。