最赞回答 / 慕粉329807310
11分45秒的时候老师解释了,createPipeline只是创建了pipeline,也就是把一个文件分成了chunkCount个小快,各放上了一个channel,但是此时channel还是阻塞的,因为要等触发了ReadSource以后才这些通道才会开始不断传输。因此在CreatePipeline里面是不能file.close的,需要把这些file句柄返回出来,由外面close。老师说因为不想把这个示例搞的太复杂,所以就留下了这个坑。
2018-08-20
最新回答 / tokumi
defer的效果是从最后向前依次执行需要defer的语句,也就说需要defer操作的引用都会被存储在一个栈空间。在栈空间里file指向的地址还是不同的地址,因此可以解决这个问题。猜测是这样,并没有实际证据。
2018-08-20
最赞回答 / haoyun666
只有一个ready,那么第二个在读取的时候会一直被等待呀,等到能读取。如果其中一个读数据不ok,那么证明已经关闭了数据读取完了,这是就拍另一个就行了。所以没有问题。
2018-07-30
最新回答 / strondy
不同keymap风格,自动补全的shortcut key不一样。preference->keymap->Main menu->Refactor->Extract->Variable,就能看到具体是啥快捷键
2018-07-27