簡體   English   中英

< map > 在不同位置讀/寫的線程安全嗎?

[英]is < map > threadsafe for read/write at different locations?

我記得有人告訴我,如果我有一個map,它已經有“key1”和“key2”,然后用thread1讀取key1,用thread2寫入“key2”(只改變“key2”的值,不將“key2”更改為“key3”)。這不會造成任何威脅或錯誤。

但是如果現在 map 只包含 "key1" ,使用 thread1 讀取 key1,並使用 thread2 插入 "key2"。這種行為會導致 hash 結構發生變化,所以我需要添加一個鎖。

那是對的嗎?

By the way,what about the unordered_map?Is it still the same?

那是對的嗎?

是的,這是正確的。 適用於有序和無序的標准地圖。

雖然,有序的 map 中沒有“散列結構”,並且無法更改任一容器中元素的鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM