我有一个循环,每次迭代我都有一个新的通道源,我应该处理它。好的,最好显示我的代码。我有文件列表,我想要尾随的每个文件(如tail -f)。我正在使用github.com/ActiveState/tail包。
for _, tailFile := range files {
t, _ := tail.TailFile(tailFile, c)
// Goroutine per tailing file
go func() {
for line := range t.Lines { // t.Lines is a channel
// Do some magic here
}
}()
}
我可以有数千个文件,我想并行运行我的尾巴。如您所见,我的程序将有数千个 goroutine。可以将此循环更改为通道,只有 1 个 goroutine 吗?
绝地无双
相关分类