我有一个数据结构,它由1000个数组元素,每个阵列元素是8个整数的一个较小的阵列:多线程阵列数组?
std::array<std::array<int, 8>, 1000>
该数据结构包含两个“指针”,其跟踪的最大和最小填充阵列元件(在“外部”,1000个元素的阵列内)。因此,例如,他们可能是:
min = 247
max = 842
我怎样才能读取和写入到从多个线程这个数据结构?我很担心推/爆元素和维持两个“指针”之间的竞争条件。我的基本操作模式是:
// Pop element from current index
// Calculate new index
// Write element to new index
// Update min and max "pointers"
你究竟是从'std :: array'弹出的? – nwp
您多久访问一次?全局锁可能是enogh。 –
@nwp你删除该值并清空数组元素......不是非常困难。 – user997112