從現(xiàn)在開始,我開始RWMutex在Go項(xiàng)目中使用它,map因?yàn)槲彝瑫r(shí)運(yùn)行多個(gè)例程,并且在進(jìn)行所有更改時(shí)都想到了一個(gè)疑問。事實(shí)是,我知道必須RLock在僅讀取時(shí)允許其他例程執(zhí)行相同任務(wù),以及Lock在寫入時(shí)完全使用地圖。但是在編輯地圖中先前創(chuàng)建的元素時(shí)我們應(yīng)該怎么做?例如...假設(shè)我有一個(gè)我要去的map[int]string地方Lock,放進(jìn)去"hello "然后放進(jìn)去Unlock。如果要添加"world"到該怎么辦?我應(yīng)該做Lock還是可以做RLock?
2 回答

qq_笑_17
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
由于更改映射中與該鍵相關(guān)聯(lián)的值的唯一方法是將更改后的值重新分配給同一鍵,即寫入/修改,因此您必須獲得寫入鎖-只需使用讀取鎖即可。充足的。
- 2 回答
- 0 關(guān)注
- 239 瀏覽
添加回答
舉報(bào)
0/150
提交
取消