channel的两种类型
1.
有缓冲的channel
var ch chan int = make(chan int, 2)
发送方会阻塞,直到所有数据拷贝到缓冲区,如果缓冲区已满,则等待接收方从channel中读取数据,再继续向缓冲区中拷贝数据
接收方阻塞,直到从缓冲区中读取到数据
2.
无缓冲的channel
var ch chan int = make(chan int)
发送方阻塞,直到有数据流进来
接收方阻塞,直到从channel中读取到数据