我认为这是一个普遍的问题。例如,我有一个由一个进程/线程修改的数组:
lock();
for(int i; i<array_size; i++) {
// find an item and do some operations
}
unlock();
还有另一个进程/线程偶尔会打印整个数组,但可能需要“很长”的时间:
lock()
for(int i; i<array_size; i++) {
print(array[i]);
}
unlock();
有没有更好的方法来打印整个数组?
最佳答案
如果是打印时间比较长的部分,可以拿锁,复制数组,释放锁,打印数组拷贝。
关于c++ - 锁定和操作需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20136391/