package main
import (
"fmt"
"time"
)
// 生产者
func producer(channel chan int){
for i:=0;i<100;i++{
fmt.Println("老怪创造了小怪", i)
time.Sleep(time.Second)
channel <- i
}
// 关闭通道
close(channel)
}
// 消费者
func consumer(name string, channel chan int, done chan bool){
for{
val, ok := <-channel
if ok {
fmt.Println(name, "消灭了怪物", val)
}else{
fmt.Println("消灭了所有怪物!!")
break
}
}
// ok
done <- true
}
func main() {
c1 := make(chan int)
done := make(chan bool)
go producer(c1)
go consumer("陈大雷", c1, done)
go consumer("迪丽热巴", c1, done)
<- done
}
有疑问加站长微信联系(非本文作者)