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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從多個 goroutine 添加到等待組是否安全?

從多個 goroutine 添加到等待組是否安全?

Go
繁華開滿天機 2023-05-15 15:23:29
如果我有多個 go 例程同時添加和調(diào)用 done 到等待組。從并發(fā)的角度來看,這安全嗎?我見過的大多數(shù)等待組示例都將添加添加到調(diào)用/創(chuàng)建其他例程的單個 go-routine 中。
查看完整描述

1 回答

?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗 獲得超8個贊

從多個例程調(diào)用是安全的,并且是文檔中Done推薦的用法。從產(chǎn)生更多例程的 goroutine調(diào)用的原因不是因為它不是線程安全的,而是因為這樣的代碼可能:WaitGroupAddAdd


for ... {

? ? go func() {

? ? ? ? wg.Add(1)

? ? ? ? defer wg.Done()

? ? ? ? ...

? ? }()

}

wg.Wait()

wg.Wait()可能會在對 的任何調(diào)用執(zhí)行之前到達(dá)Add,此時計數(shù)器仍為零,從而破壞了目的。并發(fā)代碼的執(zhí)行順序是不確定的。


查看完整回答
反對 回復(fù) 2023-05-15
  • 1 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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