众所周知,operator [] 对于写入不是并发安全的:
concurrent_vector::operator[] Operator
但是如果我保证不同的线程将写入不同的向量位置怎么办。像这样(非常简化的例子):
concurrent_vector<double> vec;
vec.resize(100);
parallel_for(0, 100, [&] (double ind)
{
vec[ind] = ind*ind;
}
它是否同时安全?如果“不是”,那为什么?
谢谢