2
比方说,我有初始化为对象threadWork
:是std :: vector :: clear() - 一个二维矢量线程的内部向量安全吗?
vector< vector<myType> > threadWork(N_THREADS, vector<myType>());
然后我部署N_THREADS
线程,每个线程执行通过vector::push_back()
小号写入的threadWork
单独的元件(其自身vector<myType>
对象)。
一个线程然后在其元素threadWork
上调用vector::clear()
。 这是否会使其他线程写入其元素无效? 也就是vector::clear()
可以调用threadWork
的一个元素threadWork
alter threadWork
, 的其他元素的内存分配,使得线程可能因此而写入无效地址?
如果没有并发访问** same **元素,则不存在数据竞争。 – StoryTeller