1.выбрать {case}
"fmt"
"runtime"
"time"
)
func main() {
runtime.GOMAXPROCS(1)
go func() {
fmt.Println("a")
}()
go func() {
fmt.Println("b")
}()
go func() {
fmt.Println("c")
}()
fmt.Println("d")
select {
case _ = <-time.After(time.Second):
}
}
result:dabc
2.select {}
package main
import (
"fmt"
"runtime"
)
func main() {
runtime.GOMAXPROCS(1)
go func() {
fmt.Printf("a")
}()
go func() {
fmt.Printf("b")
}()
go func() {
fmt.Printf("c")
}()
fmt.Printf("d")
select {}
}
result:dcab
Поскольку я установил «runtime.GOMAXPROCS (1)», в моей программе есть только один «Процессор».
Один «Процессор» имеет только один «runq», а операция ввода / вывода - «FIFO»
У меня вопрос "почему всегда ... не рэнд ...."