chan
2021-12-15 15:17:14 0 举报
chan读写流程图
作者其他创作
大纲/内容
加数据写入buf末尾
1
Y
dateqsiz:环形队列长度(缓冲区可以存放队列的个数,没有缓冲区则为0 )6
buf
chan写数据流程
结束
环形队列:作用于buf缓冲区
0
唤醒G
Y(等待写队列不为空,表示有协程队列在等待写数据,不用判断缓存区是否有数据,直接取出G进行写入)
类型信息
等待队列:等待读写的协程队列
N
chan
从recvq取出一个G
被唤醒(唤醒时数据已经被取走)
把数据写入G
chan读数据流程
recvq(等待写队列)非空
buf是否有空位
将该携程队列放入sendq(等待写携程队列)等待读时被唤醒
0 条评论
下一页