go协程和通道
一、协程

二、通道







我们来验证阻塞:



说明程序阻塞了,阻塞在第一次循环的位置。
上面证明的是接受者阻塞,现在来证明发送者阻塞。
如果发送者发送了一个数据,没有人接收,那么就不再发送下一个数据,除非通道的数据被接收。



协程间的同步:
go func1()
go func2()
go func3()
在三个协程间同步数据,通过使用通道来达到这一点。
使用带缓冲的通道,这样就不会导致阻塞了。


这里的tmp结果相当于一个信号,它是去通知主程序结束的。


用for循环遍历通道:





管道和选择器模式:
// 通过使用方向注解来限制协程对通道的操作
// 注意 变量请用驼峰方式 不要用下划线来连接


浙公网安备 33010602011771号