Go map類型的線程安全嗎?我有一個程序,其中有許多goroutine可以讀寫地圖類型。如果我需要實施保護機制,什么是最好的方法?
2 回答

小唯快跑啊
TA貢獻1863條經(jīng)驗 獲得超2個贊
您需要使用goroutines并通過channel同步對地圖的訪問。常見問題解答中的說明:
經(jīng)過長時間的討論,人們決定使用地圖的典型用法不需要從多個線程進行安全訪問,并且在這種情況下,地圖可能是某些已經(jīng)同步的較大數(shù)據(jù)結(jié)構(gòu)或計算的一部分。因此,要求所有映射操作都獲取互斥量將減慢大多數(shù)程序的速度,并增加少數(shù)程序的安全性。但是,這并不是一個容易的決定,因為這意味著不受控制的地圖訪問可能會使程序崩潰。
該語言不排除原子圖更新。在需要時(例如在托管不受信任的程序時),實現(xiàn)可以互鎖地圖訪問。
- 2 回答
- 0 關(guān)注
- 378 瀏覽
添加回答
舉報
0/150
提交
取消