最新回答 / Liu_HongYe
哦,我懂了,在InMemSort中, 數(shù)據(jù)沒有處理完, chan是沒有close的, 那么這個chan就會阻塞掉, 一直不會把監(jiān)聽的數(shù)據(jù)準備好.
2018-09-04
最新回答 / Liu_HongYe
for循環(huán)執(zhí)行時需要時間的, 在for循環(huán)未執(zhí)行完成之前, 前面go語句生成的goroutine就已經(jīng)執(zhí)行了, 所以會有一部分的輸出出現(xiàn).
2018-08-31
最贊回答 / 慕粉329807310
11分45秒的時候老師解釋了,createPipeline只是創(chuàng)建了pipeline,也就是把一個文件分成了chunkCount個小快,各放上了一個channel,但是此時channel還是阻塞的,因為要等觸發(fā)了ReadSource以后才這些通道才會開始不斷傳輸。因此在CreatePipeline里面是不能file.close的,需要把這些file句柄返回出來,由外面close。老師說因為不想把這個示例搞的太復(fù)雜,所以就留下了這個坑。
2018-08-20
最新回答 / tokumi
defer的效果是從最后向前依次執(zhí)行需要defer的語句,也就說需要defer操作的引用都會被存儲在一個??臻g。在??臻g里file指向的地址還是不同的地址,因此可以解決這個問題。猜測是這樣,并沒有實際證據(jù)。
2018-08-20
最贊回答 / haoyun666
只有一個ready,那么第二個在讀取的時候會一直被等待呀,等到能讀取。如果其中一個讀數(shù)據(jù)不ok,那么證明已經(jīng)關(guān)閉了數(shù)據(jù)讀取完了,這是就拍另一個就行了。所以沒有問題。
2018-07-30
最新回答 / strondy
不同keymap風(fēng)格,自動補全的shortcut key不一樣。preference->keymap->Main menu->Refactor->Extract->Variable,就能看到具體是啥快捷鍵
2018-07-27
最贊回答 / 曉之海綿寶寶
經(jīng)過測試找到問題了,原文中用<...code...>這種寫法,在 for 循環(huán)到最后, ch 沒有數(shù)據(jù)時,程序死鎖。
2018-06-27