Golang俩个线程实现交替打印1和2 10次

一、一个进程写,一个进程读, 一个管道存数据, 一个管道进行退出控制。

func main() { intChan := make(chan int, 20) exitChan := make(chan bool, 1) go func(intChan chan int){ for i:=0; i< 20; i++ {intChan<- (i%2 + 1) } close(intChan) }(intChan) go func(intChan chan int, exitChan chan bool) { for{ v, ok := <-intChan if ok { fmt.Println(v) }else{ exitChan<- true close(exitChan) break } } }(intChan, exitChan) for { _, ok := <- exitChan if !ok { break } }}

【Golang俩个线程实现交替打印1和2 10次】

    推荐阅读