package main
import (
"fmt"
"time"
)
func main() {
// 定义一个channel
c := make(chan int, 3)
fmt.Println("len(c) = ", len(c), ", cap(c) = ", cap(c))
go func() {
defer fmt.Println("子go程结束")
for i := 1; i < 4; i++ {
c <- i
fmt.Println("子go程正在运行,发送的元素= ", i, "len(c)=", len(c), "cap(c)=", cap(c))
}
}()
time.Sleep(2 * time.Second)
for i := 1; i < 4; i++ {
num := <-c // 从channel中接收数据并赋值给num
fmt.Println("接收数据 num = ", num)
}
fmt.Println("main结束")
}
Golang带缓冲管道
猜你喜欢
转载自blog.csdn.net/qq2942713658/article/details/115272154
今日推荐
周排行