缓冲区中也不存在任何数据时

当 Channel 的缓冲区中已经包含数据时,从 Channel 中接收数据会直接从缓冲区中 的索引位置中取出数据进行处理:
5.3 阻塞接收当 Channel 遴选公务员的发送队列中不存在等待的 Goroutine 并且缓冲区中也不存在任何数据时,从管道中接收数据的操作会变成阻塞的,然而不是所有的接收操作都是阻塞的,与 select 语句结合使用时就可能会使用到非阻塞的接收操作:
六. 关闭channel

使用 close(ch) 来关闭 channel 最后会调用 runtime 中的 closechan 方法.

关闭一个 nil 的 channel 和已关闭了的 channel 都会导致 panic

创建N个channel来管理N个协程,每个协程都有一个channel用于跟父协程通信,遴选公务员父协程创建完所有协程后等待所有协程结束。

这个例子中,父协程仅仅是等待子协程结束,其实父协程也可以向管道中写入数据通知子协程结束,这时子协程需要定期地探测管道中是否有消息出现。http://www.gongxuanwang.com/

你可能感兴趣的:(前端jquery)