发送3-queue已满
2020-09-22 22:13:55 5 举报
go channel发送数据时队列已经满的情况
作者其他创作
大纲/内容
待发送的数据
环形队列的长度为2,已经放满了元素
sendx
2
sudog100
recvx
recvq
elemsize
runtime.mutex
队列中的元素类型
channel是否关闭
lock
100
qcount
队列已发送位置索引
环形队列头指针
buf
队列已接收位置索引
dataqsiz
nil
绿色的是变动的字段
等待发消息的groutine队列
hchan
0
101
第二步:如果没有等待接收数据的groutine,且队列已满,数据和当前groutine打包成sudog,加入到等待发送的队列尾部
closed
runtime._type
环形队列容量
sendq
等待读消息的groutine队列
环形队列元素个数
elemtype
8
读写锁
队列中每个对象大小
0 条评论
下一页