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

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

確定所有工人都完成

確定所有工人都完成

Go
SMILET 2023-03-21 16:52:31
按照Marcio 的線程池實(shí)現(xiàn),是否可以確定所有工作何時(shí)完成?等待 JobQueue 清空是微不足道的:// Wait for the job queue to clearfor len(JobQueue) > 0 {    // Just wait}然而在那之后可能還有 goroutines 在等待 workers,或者 workers 還沒有完成所有的任務(wù):func (d *Dispatcher) dispatch() {    for {        select {        case job := <-JobQueue:            // a job request has been received            go func(job Job) {                // try to obtain a worker job channel that is available.                // this will block until a worker is idle                jobChannel := <-d.WorkerPool                // dispatch the job to the worker job channel                jobChannel <- job            }(job)        }    }}最好的方法是什么?在dispatcher中添加一個(gè)WaitGroup,以及查詢WaitGroup狀態(tài)的方法?對(duì)此的任何指示將不勝感激。
查看完整描述

1 回答

?
幕布斯7119047

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

根據(jù)文檔

WaitGroup 等待一組 goroutine 完成。

所以,是的,要等待一組 goroutines 完成,我會(huì)推薦一個(gè)WaitGroup. 正如文檔所述,您要求Add每個(gè)工作人員開始,以及Done每個(gè)工作人員何時(shí)完成。您的for len()繁忙循環(huán)將替換為:

wg.Wait()

根據(jù)文檔。


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

添加回答

舉報(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)