假设我有一个创建goroutine的函数,并且在该goroutine中创建了一个通道。我的问题是,当我们创建N个go例程时,会创建N个单独的通道吗?
此处为示例代码:
func createAChannel() {
// make a channel
}
func main() {
for i := 0; i < 10; i++ {
go createAChannel()}
}
答案 0 :(得分:0)
是的,每次您使用make
创建频道时,都会获得一个新频道。
如果要让多个goroutine共享一个通道,则必须在父goroutine中创建该通道并将其传递给子goroutine。