慕粉4019974
2018-12-22 21:39
func createPipeline(filename string, fileSize ,chunkCount int) <-chan int{
chunkSize := fileSize / chunkCount
sortResults := []<-chan int{}
for i:= 0; i < chunkCount; i++{
if err != nil{
panic(err)
}
file.Seek(int64(i * chunkSize),0)
source := pipeline.ReaderSource(bufio.NewReader(file),chunkSize)
sortResults = append(sortResults,pipeline.InMenSort(source))
}
return pipeline.MergeN(sortResults...)
}
老师的是small.in文件也不再同一个目录吧,不知道为什么能打开?
不copy的话,还有一个方法: import
"path/filepath"
absPath, _ := filepath.Abs("../pipelineDemo/small.in")然后打开那个全路径就行。
编译器似乎将产生的 small.in 文件放到了上层目录,所以在本层目录没有找到,你可以手动将产生的在上层的那个 small.in 文件 copy 到这个pipeline 文件夹中,然后就可以执行了。
如图所示
搭建并行处理管道,感受GO语言魅力
19444 学习 · 81 问题
相似问题