启动两个线程, 一个输出 1,3,5,7…99, 另一个输出 2,4,6,8…100 最后 STDOUT 中按序输出 1,2,3,4,5…100
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 30 31 32 33 34 35 36 37 38 39
|
package main
import ( "fmt" "time" )
var pool = 100
func (c chan int) { for i := 1; i <= pool; i++ { c <- i if i%2 == 1 { fmt.Println(i) } } }
func even(c chan int) { for i := 1; i <= pool; i++ { <-c if i%2 == 0 { fmt.Println(i) } } }
func main() {
c := make(chan int)
go oddNum(c) go even(c)
time.Sleep(time.Second * 1)
}
|
近期评论