在Go语言中开启和退出协程(二) 这篇文章中,讲到了如何通过context退出协程。在这个过程中,对context包产生了深厚的兴趣,因此花了一段时间研究这个包的源码,本文主要是写下自己的研究成果。
摘取context源码的一部分说明:
- // Package context defines the Context type, which carries deadlines,
- // cancellation signals, and other request-scoped values across API boundaries
- // and between processes.
这段话大概的意思是:context在不同的goroutine之间同步请求的数据、取消信号以及处理请求的截止日期。