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

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

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

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

最贊回答 / 根號三百萬
向channel寫入或者讀取數據都是阻塞的,不開goroutine的話代碼上面的代碼就阻塞在 out <- r , 當然就死鎖了。開gouroutine的話應該不會吧,你可以貼下代碼看看
這可是教你分布式啊
狗語言 霉函數 哈哈哈哈哈

最新回答 / 芭菲雨
換了一個端口號就可以了,就是很奇怪之前的8888端口無法訪問的錯誤界面,只是顯示空白頁,還是不知道為什么
ccmouse老師的課程是我見過講解的最透徹的,非常好,簡單易動,期待都是更多的課程。
j講得很棒,謝謝老師

最新回答 / Liu_HongYe
哦,我懂了,在InMemSort中, 數據沒有處理完, chan是沒有close的, 那么這個chan就會阻塞掉, 一直不會把監聽的數據準備好.

最新回答 / 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。在棧空間里file指向的地址還是不同的地址,因此可以解決這個問題。猜測是這樣,并沒有實際證據。

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

最新回答 / 慕先生0298200
因為in只進不出,所以加<-限制,不然in就可以進出。同理返回值。不加也可以,加了代碼比較嚴謹。
課程須知
1、了解一門編程語言,對基本算法如排序有了解
老師告訴你能學到什么?
1、go語言的歷史和設計初衷 2、go語言的安裝與開發環境 3、簡單的go語言程序 4、了解go語言并發編程 5、實現一個并行數據處理管道

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消