向两个通道发送数据时,第二个通道可能会在某个时候首先接收数据 主程序包 func m(){ c1:=制造(成交量,1) c2:=制造(内部通道,1) go func(){ c1

向两个通道发送数据时,第二个通道可能会在某个时候首先接收数据 主程序包 func m(){ c1:=制造(成交量,1) c2:=制造(内部通道,1) go func(){ c1,go,Go,当我们将两个发送操作放在goroutine中时,它们可能在不同的线程中运行?所以我们不能保证按顺序读取它们? package main func m() { c1 := make(chan int, 1) c2 := make(chan int, 1) go func() { c1 <- 1 c2 <- 1 }() select { case <-c1: case <-c2:

当我们将两个发送操作放在goroutine中时,它们可能在不同的线程中运行?所以我们不能保证按顺序读取它们?
package main

func m() {
    c1 := make(chan int, 1)
    c2 := make(chan int, 1)
    go func() {
        c1 <- 1
        c2 <- 1
    }()
    select {
    case <-c1:
    case <-c2:
        println("no way")
    }
}

func main() {
    for i := 0; i < 1000000; i++ {
        m()
    }
}