资料介绍
channel是Golang在语言层面提供的goroutine间的通信方式,比Unix管道更易用也更轻便。channel主要用于进程内各goroutine间通信,如果需要跨进程通信,建议使用分布式系统的方法来解决。本章从源码角度分析channel的实现机制,实际上这部分源码非常简单易读。
从数据结构可以看出channel由队列、类型信息、goroutine等待队列组成,下面分别说明其原理。
chan内部实现了一个环形队列作为其缓冲区,队列的长度是创建chan时指定的。下图展示了一个可缓存6个元素的channel示意图:
dataqsiz指示了队列长度为6,即可缓存6个元素; buf指向队列的内存,队列中还剩余两个元素; qcount表示队列中还有两个元素; sendx指示后续写入的数据存储的位置,取值[0, 6); recvx指示从该位置读取数据, 取值[0, 6);
《Go专家编程》深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。
本书首先介绍Go语言常见的数据结构及控制结构的实现原理,包括管道、切片、Hash表、select和for-range等,这部分内容大都以几个精心准备的测验题目开头,每个测验题目均对应一个知识点,读者可以借此测验自身对该知识点的掌握程度。接着介绍了Go语言最基础的概念,包括协程的概念、协程调度模型、协程调度策略,以及内存分配和垃圾回收相关的内容。本书还介绍了一些标准库、异常处理和依赖管理等非语法相关但非常重要的内容。最后结合作者的见闻,整理了一些发生在真实项目中的编程陷阱。
- 图解数字磁带录音机的PDF电子书免费下载 99次下载
- 现代无线电实验的PDF电子书免费下载 250次下载
- 半导体收音机浅谈的PDF电子书免费下载 162次下载
- 光学谐振腔的图解分析与设计方法的PDF电子书免费下载 123次下载
- MATLAB函数速查手册PDF电子书免费下载 148次下载
- 电子管数据手册合集PDF电子书免费下载 72次下载
- 写给文科生看的编程入门Python管窥PDF电子书免费下载 6次下载
- 8051系列单片机C程序设计完全手册PDF电子书免费下载 263次下载
- 51单片机100实例源码的注释详细PDF电子书免费下载 213次下载
- 全国大学生电子设计竞赛的常用电路模块制作PDF电子书免费下载 0次下载
- 电冰箱快速维修PDF电子书免费下载 43次下载
- 家电维修1128例PDF电子书免费下载 186次下载
- STM8 C语言精品编程100例PDF版电子书免费下载 0次下载
- 数字信号处理算法C语言实现PDF版电子书免费下载 0次下载
- 《Visual C++游戏编程基础》电子书.pdf 0次下载
- Go编程语言-你应该知道的一切 484次阅读
- 电子书阅读器内置锂电池供电自动切换电路 1604次阅读
- go项目怎么让docker镜像体积减小 1093次阅读
- Go并发模型的实现原理 1259次阅读
- Go 1.18 正式发布后有哪些特性 2982次阅读
- 手机热点可以替代宽带长期使用吗? 4106次阅读
- Rust相比Go的优劣势 3872次阅读
- GO语言简介!GO是理想的编程语言吗? 4260次阅读
- 机器学习入门宝典《统计学习方法》的介绍 4488次阅读
- Go语言在多线程领域编程、跨异构平台及编程难易程度的优势 6139次阅读
- Go和Python,Erlang的语言对比分析和Go编程示例概述 7583次阅读
- 我们在使用Go语言编程之前有什么呢?为什么选择Go语言编程? 3929次阅读
- 网易有道CEO周枫推荐Go语言并介绍Go语言的3个优点 5096次阅读
- 最新电子书拆解评测系列报道(一):打开你的眼界 1.2w次阅读
- AUTOCAD2009免费下载中文版 CAD2009简体中文下载及安装方法 1.2w次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1497次下载 | 免费
- 2TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 3单片机典型实例介绍
- 18.19 MB | 103次下载 | 1 积分
- 4S7-200PLC编程实例详细资料
- 1.17 MB | 28次下载 | 1 积分
- 5笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 6开关电源原理及各功能电路详解
- 0.38 MB | 15次下载 | 免费
- 79天练会电子电路识图
- 5.91 MB | 6次下载 | 免费
- 8100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234314次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 6接口电路图大全
- 未知 | 30321次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21540次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537794次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234314次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多