第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將標(biāo)準(zhǔn) Golang Map 轉(zhuǎn)換為 Sync.Map 以避免競爭條件

將標(biāo)準(zhǔn) Golang Map 轉(zhuǎn)換為 Sync.Map 以避免競爭條件

Go
白板的微信 2023-08-14 14:45:09
我有以下代碼行:var a_map = make(map[string] []int)我的部分代碼使用 a_map 變量,偶爾會(huì)拋出以下錯(cuò)誤:fatal error: concurrent map read and map write為了嘗試創(chuàng)建一種更強(qiáng)大的解決方案(沒有此類錯(cuò)誤的解決方案),我想使用sync.Map而不是通用地圖。我這樣做的靈感來自于這個(gè)堆棧溢出問題提供的唯一答案。但是,我不清楚這樣做的正確語法。在我的第一次嘗試中,我使用了以下代碼行:var a_map = make(sync.Map[string] []int)這導(dǎo)致了以下錯(cuò)誤:...syntax error: unexpected ], expecting expression然后我嘗試: sync_map := new(sync.Map) var a_map = make(sync_map[string] []int)這導(dǎo)致了同樣的錯(cuò)誤:...syntax error: unexpected ], expecting expression
查看完整描述

1 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

sync.Map不是 Go?map,因此您不能使用a_map["key"]它的語法。相反,它是struct提供常用地圖操作的方法。使用它的語法是:

var?m?sync.Map
m.Store("example",?[]int{1,?2,?3})
fmt.Println(m.Load("example"))?//?[1?2?3]?true

--?https://play.golang.org/p/7rbEG_x0mrC

根據(jù)并發(fā)源,您可能需要每個(gè)鍵下的 []int 值進(jìn)行類似的同步,但sync.Map 不會(huì)為您提供這種同步。sync.Map 僅提供每個(gè)鍵的加載/存儲(chǔ)同步。


查看完整回答
反對(duì) 回復(fù) 2023-08-14
  • 1 回答
  • 0 關(guān)注
  • 282 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)