0
点赞
收藏
分享

微信扫一扫

GoLang之图解channel之数据结构

夏沐沐 2022-05-05 阅读 81

文章目录

图解channel之数据结构

注:本文以Windos上Go SDK v1.18进行讲解

func f() {
    ch := make(chan int)
    ...
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

v <- ch1

在这里插入图片描述
在这里插入图片描述

type hchan struct {
    qcount   uint           // 数组长度,即已有元素个数
    dataqsiz uint           // 数组容量,即可容纳元素个数
    buf      unsafe.Pointer // 数组地址
    elemsize uint16         // 元素大小
    closed   uint32
    elemtype *_type // 元素类型
    sendx    uint   // 下一次写下标位置
    recvx    uint   // 下一次读下标位置
    recvq    waitq  // 读等待队列
    sendq    waitq  // 写等待队列
    lock     mutex
}

在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论