给出以下示例:http : //play.golang.org/p/owvJ8Oi77S
func produce(dataChannel chan int) {
for i := 0; i < 10; i++ {
dataChannel <- i
}
}
func main() {
dataChannel := make(chan int)
go produce(dataChannel)
go produce(dataChannel)
go produce(dataChannel)
for i := 0; i < 30; i++ {
data := <-dataChannel
fmt.Printf("%v ", data)
}
}
我是否认为从多个go例程写入通道不安全是正确的吗?
是否有安全的常用/惯用方式?我知道您可以为每个生成数据的例程创建一个单独的通道,我只是想知道这是否是最干净的解决方案,或者是否还有其他选择。
犯罪嫌疑人X
米琪卡哇伊
相关分类