7.4 小结

  • 可以使用通道来控制程序的生命周期。
  • default 分支的 select 语句可以用来尝试向通道发送或者接收数据,而不会阻塞。
  • 有缓冲的通道可以用来管理一组可复用的资源。
  • 语言运行时会处理好通道的协作和同步。
  • 使用无缓冲的通道来创建完成工作的goroutine池。
  • 任何时间都可以用无缓冲的通道来让两个goroutine交换数据,在通道操作完成时一定保证对方接收到了数据。

本书是以Go 1.5版本为基础写作而成的。在Go 1.6及之后的版本中,标准库里自带了资源池的实现( sync.Pool )。推荐使用。——译者注

results matching ""

    No results matching ""