
Golang 源码浅析
无聊的时候,就读读 Golang 源码吧!
shida_csdn
Keep Running ...
展开
-
goroutine 队列插入顺序分析
一、背景 我们在编写 go 程序时,经常会创建一系列的协程,这些协程通常会被放到 P 维护的一个协程队列 那么协程被插入队列时遵循的顺序是如何的呢?到底是插到队头还是队尾呢?二、源码分析 golang 版本: 1.11 源码位置:runtime/proc.go// Create a new g running fn with...原创 2019-03-25 12:16:37 · 986 阅读 · 0 评论 -
Golang 中 Channel 对阻塞 goroutine 的唤醒顺序分析
一、前言 我们知道,goroutine 是有大小的,当 发送满/读取空时,会阻塞对应的 发送/读取 goroutine 协程。 那么,当 Channel 可用时,它是按照什么顺序唤醒等待的 goroutine 协程的呢? 带着这个问题,我们深入 chan 的源码逻辑,去一探究竟。 剧透结论:先阻塞的先被唤醒!二、chan 源码分析...原创 2019-03-08 12:30:21 · 4521 阅读 · 0 评论