課程
/后端開發(fā)
/Go
/搭建并行處理管道,感受GO語言魅力
還是不明白為什么merge的時間是一樣的 ?求解釋
2018-03-01
源自:搭建并行處理管道,感受GO語言魅力 3-7
正在回答
個人理解:并行中,merge1,merge2,merge3 都在等待自己的 輸入 chan 中有數(shù)據(jù)存入。merge1比較一次就會往自己的輸出chan,也就是merge3的輸入chan中存一個數(shù)據(jù);merge2同理;merge3等待merge1,merge2都比較完一次輸出到chan中一個int,自己就可以比較一次。所以merge3只會比merge1,merge2中完成慢的那一個慢一次比較
因為只要排序好了,立即會向merge的接收channel發(fā)消息,假定有三個merge。假定:merge1、merge2是第一階段。merge3是第二階段。只要merge1, merge2有數(shù)據(jù)輸出了,merge3就會立即做排序,它們就像是幾乎是同時進行的,所以時間上沒有多大差別。
舉報
通過搭建并行數(shù)據(jù)處理管道,展示go語言在并發(fā)編程方面的優(yōu)勢
1 回答merge 時只有一個輸入ready了,有沒問題
2 回答關(guān)于排序時間
1 回答在相同時間內(nèi),執(zhí)行單個沒有打印出來hello,而多并發(fā)的時候可以打印,這是為什么?
2 回答channel 是 routine 間通信的方式,為什么在main函數(shù)中讀取的時候可以直接讀呢?
2 回答讀取問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-03-04
個人理解:并行中,merge1,merge2,merge3 都在等待自己的 輸入 chan 中有數(shù)據(jù)存入。merge1比較一次就會往自己的輸出chan,也就是merge3的輸入chan中存一個數(shù)據(jù);merge2同理;merge3等待merge1,merge2都比較完一次輸出到chan中一個int,自己就可以比較一次。所以merge3只會比merge1,merge2中完成慢的那一個慢一次比較
2018-03-03
因為只要排序好了,立即會向merge的接收channel發(fā)消息,假定有三個merge。
假定:
merge1、merge2是第一階段。
merge3是第二階段。
只要merge1, merge2有數(shù)據(jù)輸出了,merge3就會立即做排序,它們就像是幾乎是同時進行的,所以時間上沒有多大差別。