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