1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
package main
import "time"
func main() {
// For our example we'll select across two channels.
c1 := make(chan string)
c2 := make(chan string)
// Each channel will receive a value after some amount
// of time, to simulate e.g. blocking RPC operations
// executing in concurrent goroutines.
go func() {
//time.Sleep(1 * time.Second)
time.Sleep(1e9)
c1 <- "one"
}()
go func() {
time.Sleep(2e9)
c2 <- "two"
}()
msg1 := <-c1
println(msg1)
msg2 := <-c2
println(msg2)
}
|