每个线程一次写入的bitset个别位线程是否安全?

时间:2016-08-18 09:06:44

标签: c++ c++11 concurrency bitset

我想知道我们是否可以使用catchline甚至64位字大小来同时操作位集中的各个位?假设我有10个线程,每个线程都有threadId。所有线程是否可以同时设置bits[threadId] = value

1 个答案:

答案 0 :(得分:3)

std::bitset::operator[]

数据竞赛

访问bitset(const和非const版本都不会修改容器)。 非const版本返回的引用可用于访问或修改bitset中的位。请注意,修改单个位可能会影响位集中未确定数量的其他位,从而导致不同位的并发访问/修改,而​​不是线程安全的。