亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

搭建并行處理管道,感受GO語言魅力

難度中級
時長 2小時17分
學習人數
綜合評分9.67
51人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.6 邏輯清晰

最新回答 / Liu_HongYe
for循環執行時需要時間的, 在for循環未執行完成之前, 前面go語句生成的goroutine就已經執行了, 所以會有一部分的輸出出現.

最新回答 / Bruce_Vae
老師講的有點跟不上。。重新看了一遍,要按chunkSize來切割文件

最贊回答 / 慕粉329807310
11分45秒的時候老師解釋了,createPipeline只是創建了pipeline,也就是把一個文件分成了chunkCount個小快,各放上了一個channel,但是此時channel還是阻塞的,因為要等觸發了ReadSource以后才這些通道才會開始不斷傳輸。因此在CreatePipeline里面是不能file.close的,需要把這些file句柄返回出來,由外面close。老師說因為不想把這個示例搞的太復雜,所以就留下了這個坑。

最新回答 / tokumi
defer的效果是從最后向前依次執行需要defer的語句,也就說需要defer操作的引用都會被存儲在一個??臻g。在??臻g里file指向的地址還是不同的地址,因此可以解決這個問題。猜測是這樣,并沒有實際證據。

最贊回答 / haoyun666
只有一個ready,那么第二個在讀取的時候會一直被等待呀,等到能讀取。如果其中一個讀數據不ok,那么證明已經關閉了數據讀取完了,這是就拍另一個就行了。所以沒有問題。

最新回答 / 慕先生0298200
因為in只進不出,所以加<-限制,不然in就可以進出。同理返回值。不加也可以,加了代碼比較嚴謹。

最新回答 / strondy
不同keymap風格,自動補全的shortcut key不一樣。preference->keymap->Main menu->Refactor->Extract->Variable,就能看到具體是啥快捷鍵

最贊回答 / 曉之海綿寶寶
經過測試找到問題了,原文中用<...code...>這種寫法,在 for 循環到最后, ch 沒有數據時,程序死鎖。

最新回答 / openset
改成這樣就可以了:<...圖片...>

最贊回答 / 張金富
抱歉 我好像理解了 tcp部分已經通過io接口做完了 剩下的都是一個進程里的 所以可以用channel

最贊回答 / 白聰聰
需要在你的GOPATH路徑下創建個src目錄,然后把項目創建在這個src目錄下,就可以自動導入自定義的包了

最贊回答 / VANCY
macos先按Command+`,` 在自定義快捷(keymap)里搜索 Variable (在Refactor->Extract下面)

最新回答 / 白聰聰
需要在你的GOPATH路徑下創建個src目錄,然后把項目創建在這個src目錄下,就可以自動導入自定義的包了
課程須知
1、了解一門編程語言,對基本算法如排序有了解
老師告訴你能學到什么?
1、go語言的歷史和設計初衷 2、go語言的安裝與開發環境 3、簡單的go語言程序 4、了解go語言并發編程 5、實現一個并行數據處理管道

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消