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

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

使用多個 goroutine 的好處

使用多個 goroutine 的好處

Go
慕尼黑5688855 2022-05-23 16:06:47
我見過等待一組 goroutine 完成的代碼:var wg sync.WaitGroupwg.Add(2)go func() {    // Do work.    wg.Done()}()go func() {    // Do some other work.    wg.Done()}()wg.Wait()這樣做的主要好處是什么,而不是讓我們說:var wg sync.WaitGroupwg.Add(1)go func() {    // Do work.    // Do some more work here instead.    wg.Done()}()wg.Wait()它更快嗎?
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

有些事情要清楚:你的兩個例子都使用一個sync.WaitGroup,主要區(qū)別是工作的“分布”到goroutines

在您的第一個示例中,您有 2 個并發(fā) goroutine 執(zhí)行 2 個不同的工作(任務),而在第二個示例中,您有 1 個單個 goroutine 依次執(zhí)行這兩個任務,一個接一個。

主要好處可能是2 個 goroutine 可以安排在 2 個 OS 線程中運行,這可能會利用 2 個獨立的 CPU 內核,因此它可以更早/更快地完成。它是否提前完成以及完成多少取決于實際任務。

這兩個任務甚至可能相互依賴,所以如果你把它們放在一個 goroutine 上,它們可能永遠不會完成。


查看完整回答
反對 回復 2022-05-23
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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