Bu, std::map
'un dişli güvenliği hakkındadır. Şimdi, eşzamanlı okumalar iş parçacığı güvenlidir, ancak yazmalar değildir. Sorum şu ki, her seferinde haritaya benzersiz bir öğe eklersek, iş parçacığı güvenli mi olacak? Bu std:map<int, std::string> myMap
gibi bir harita varsa veC++ haritalarının iş parçacığı güvenliği
Yani, bir örnek için, ben her zaman yeni anahtarlar eklemek ve asla mevcut anahtar değerini değiştirmek, o iş parçacığı güvenli olacak?
Daha da önemlisi, bana herhangi bir rastgele çalışma zamanı davranışı verecek mi?
Yeni anahtarlar eklemek de değişiklik sayılır mı? Anahtarlar eklerken her zaman farklıysa, hafızanın bağımsız bir bölümünü değiştirdiği için iş parçacığı güvenli olmamalıdır?
Teşekkür Tabii Shiv
Hayır, bu iş parçacığı için güvenli olmayacaktır, çünkü iki iş parçacığı aynı anda aynı yere gidecek şekilde iki (benzersiz) öğe ekleyebilir. –
Standart konteynırlardan bekleyebildiğiniz tek tip iplik güvenliği, eğer konteyner hiçbir zaman değiştirilmediyse ve her bir iplik bir ** farklı ** elemanına erişirse (okur ya da yazarsa), o zaman bu iyi olmalıdır. –