我正在研究A Tour of Go的Concurrency 部分,我很好奇使用有限通道的正确 Go 约定。在本练习中,我需要从两个通道读取值并确定这些值是否相同且顺序相同。如果没有,我可以立即从我的方法中返回。但是,如果我这样做,Go 会自动为我清理我的频道,还是我的 goroutine 会永远挂起并消耗资源?false
处理此问题的最佳方法是将取消通道传递到我的 goroutine 中,但由于 goroutine 读取的数据量有限,因此只消耗所有数据似乎没问题。在现实生活中处理这种情况的最佳方法是什么?
侃侃尔雅
相关分类