concurrent-vector

    0熱度

    1回答

    我有一個併發:: concurrent_vector並希望push_back線程安全的一個新的元素,如果它不存在(這就是爲什麼我必須先執行搜索)。我怎樣才能做到這一點? 我需要一個併發集合,它在迭代器訪問時是線程安全的(寫入,讀取相同的元素),並允許我在上面寫的內容。 問題細化: 如果大多數情況下同時搜索,如果找不到元素(更罕見),則需要使用插入/推回;如果找到搜索元素,大多數情況下是需要)更新的

    0熱度

    1回答

    我試圖以類似於std::vector的方式在TBB (螺紋構件塊)中獲取對concurrent_vector的內存的引用。 因此,std::vector將被訪問像:&stdVector[0]。 但concurrent_vector的等效項不起作用:&tbbVector[0]。 我想這可能與如何將內存存儲在內部 爲了併發,但有沒有辦法做到這一點?

    9熱度

    2回答

    谷歌對「鎖定免費矢量」的第一個結果是由Damian Dechev,Peter Pirkelbauer和Bjarne Stroustrup描述理論無鎖矢量的研究論文。這個或者其他無鎖矢量是否已經實現?

    1熱度

    1回答

    我在TBB forum上提出過這個問題,但我希望這裏有人可能會有一些額外的想法。我正在調試我們所看到的問題,並注意到tbb::concurrent_vector有一些奇怪的行爲。 底線是在push_back()調用實際完成後,concurrent_vector的size()未反映此情況。我已經縮小它與容量有關,因爲如果我捕獲capacity()和size(),size() == capacity(

    2熱度

    1回答

    我有多個大英特爾TBB concurrent_vectors,我需要合併。它們太大以至於無法分配足夠大小的新concurrent_vector。 ......所以,下面的僞代碼將無法正常工作 concurrent_vector<myStruct> A(100000); concurrent_vector<myStruct> B(100000); ... concurrent_vector<m