目录
- 并发编程
- go协程
- chan通道
- 无缓冲通道
- 有缓冲通道
- 创建⽆缓冲和缓冲通道
- 等协程
- sync.WaitGroup同步
- Runtime包
- 区别
- 同步变量
- Select
- Ticker定时器
- 控制并发数量
- 并发编程阶段练习
并发编程
go协程
chan通道
必要条件:
从通道取元素的时候要先关闭通道,程序才知道你不往通道输入了,才能取出元素来进行操作,否则会由于通道没有被关闭,range 操作会一直等待新的数据到来,导致程序陷入死锁状态。
close关闭通道不是必要的,但是如果你不关闭,还一直读取里面的东西的话, 你要保证你有源源不断的内容进入到通道中不能让他处于死锁状态。
[code]//在go中的通道var 变量名 = make(chan 类型)var c = make(chan int)//通道可以给很多数据,取出来的时候可以一个个的pop一样,每次取一个就pop一个c |