02 2021 档案
摘要:Context通常被称为上下文,在go中,理解为goroutine的运行状态、现场,存在上下层goroutine context的传递,上层goroutine会把context传递给下层goroutine。 每个goroutine在运行前,都要事先知道程序当前的执行状态,通常将这些状态封装在一个 c
阅读全文
摘要:1. go select是一种仅能用于channel发送和接收消息的语句,此语句运行期间是阻塞的;当 select中没有case语句的时候,会阻塞当前goroutine 2. select是go在语言层面提供的IO多路复用机制,专门用于检测多个channel是否准备完毕:可读可写 3. select
阅读全文
摘要:WaitGroup的核心机制是通过计数器记录被等待的goroutine的数目,当所有goroutine退出后计数器清零,同时通过信号量机制通知Wait函数解除阻塞。WaitGroup内部有两个计数器,可以称为v和w, v记录了被等待的goroutine的数目,WaitGroup的Add()和Done
阅读全文