我有一個數據結構,它由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