4

I wonder if we operate on a catchline or even 64bit word sizes can I concurrently operate on individual bits in a bitset? Say I have 10 threads, each has threadId. Can all threads concurrently set bits[threadId] = value?

DuckQueen
  • 772
  • 10
  • 62
  • 134

1 Answers1

4

std::bitset::operator[]

Data races

The bitset is accessed (neither the const nor the non-const versions modify the container). The reference returned by the non-const version can be used to access or modify the bits in the bitset. Notice that modifying a single bit may have effects on an undetermined number of other bits in the bitset, thus rendering concurrent access/modification of different bits not thread-safe.

Zang MingJie
  • 5,164
  • 1
  • 14
  • 27