1
Diğer iş parçacığında aynı eşzamanlı_vektör üzerinden yineleme yaparken eşzamanlılık :: concurrent_vector :: push_back öğesini çağırmak eşzamanlı olarak güvenli midir?
push_back , başlar , sonu eşzamanlı kasa olarak tarif edilmektedir https://docs.microsoft.com/en-us/cpp/parallel/concrt/reference/concurrent-vector-class?view=vs-2019#push_back Ancak, aşağıdaki kod öne sürülüyor. Muhtemelen eleman eklendiğinden, ancak henüz başlatılmadığından. struct MyData { explicit MyData() { memset(arr, 0xA5, sizeof arr); } std::uint8_t arr[1024]; }; struct MyVec { concurrency::concurrent_vector<MyData> v; }; auto vector_pushback(MyVec &vec) -> void { vec.v.push_back(MyData{}); } …