Go并发编程实战 第2版 PDF (中文版带书签)
Go并发编程实战 第2版

目录
第1章 初识Go语言 1
1.1 语言特性 1
1.2 安装和设置 2
1.3 工程结构 3
1.3.1 工作区 3
1.3.2 GOPATH 4
1.3.3 源码文件 5
1.3.4 代码包 8
1.4 标准命令简述 11
1.5 问候程序 13
1.6 小结 14
第2章 语法概览 15
2.1 基本构成要素 15
2.1.1 标识符 15
2.1.2 关键字 16
2.1.3 字面量 17
2.1.4 操作符 17
2.1.5 表达式 19
2.2 基本类型 20
2.3 高级类型 22
2.3.1 数组 23
2.3.2 切片 23
2.3.3 字典 24
2.3.4 函数和方法 25
2.3.5 接口 28
2.3.6 结构体 29
2.4 流程控制 30
2.4.1 代码块和作用域 30
2.4.2 if语句 32
2.4.3 switch语句 32
2.4.4 for语句 34
2.4.5 defer语句 36
2.4.6 panic和recover 38
2.5 聊天机器人 40
2.6 小结 44
第3章 并发编程综述 45
3.1 并发编程基础 45
3.1.1 串行程序与并发程序 46
3.1.2 并发程序与并行程序 46
3.1.3 并发程序与并发系统 47
3.1.4 并发程序的不确定性 47
3.1.5 并发程序内部的交互 47
3.2 多进程编程 48
3.2.1 进程 48
3.2.2 关于同步 55
3.2.3 管道 60
3.2.4 信号 65
3.2.5 socket 74
3.3 多线程编程 97
3.3.1 线程 98
3.3.2 线程的同步 107
3.4 多线程与多进程 125
3.5 多核时代的并发编程 126
3.6 小结 130
第4章 Go的并发机制 131
4.1 原理探究 131
4.1.1 线程实现模型 132
4.1.2 调度器 142
4.1.3 更多细节 158
4.2 goroutine 160
4.2.1 go语句与goroutine 160
4.2.2 主goroutine的运作 166
4.2.3 runtime包与goroutine 166
4.3 channel 169
4.3.1 channel的基本概念 169
4.3.2 单向channel 180
4.3.3 for语句与channel 184
4.3.4 select语句 185
4.3.5 非缓冲的channel 190
4.3.6 time包与channel 192
4.4 实战演练:载荷发生器 198
4.4.1 参数和结果 199
4.4.2 基本结构 201
4.4.3 初始化 206
4.4.4 启动和停止 212
4.4.5 调用器和功能测试 221
4.5 小结 231
第5章 同 步 232
5.1 锁的使用 232
5.1.1 互斥锁 232
5.1.2 读写锁 236
5.1.3 锁的完整示例 238
5.2 条件变量 244
5.3 原子操作 247
5.3.1 增或减 247
5.3.2 比较并交换 249
5.3.3 载入 250
5.3.4 存储 251
5.3.5 交换 251
5.3.6 原子值 252
5.3.7 应用于实际 256
5.4 只会执行一次 257
5.5 WaitGroup 258
5.6 临时对象池 262
5.7 实战演练——Concurrent Map 265
5.8 小结 280
第6章 网络爬虫框架设计和实现 281
6.1 网络爬虫与框架 281
6.2 功能需求和分析 283
6.3 总体设计 284
6.4 详细设计 286
6.4.1 基本数据结构 286
6.4.2 接口的设计 293
6.5 工具的实现 309
6.5.1 缓冲器 309
6.5.2 缓冲池 311
6.5.3 多重读取器 317
6.6 组件的实现 318
6.6.1 内部基础接口 319
6.6.2 组件注册器 321
6.6.3 下载器 323
6.6.4 分析器 325
6.6.5 条目处理管道 328
6.7 调度器的实现 329
6.7.1 基本结构 329
6.7.2 初始化 331
6.7.3 启动 333
6.7.4 停止 343
6.7.5 其他方法 344
6.7.6 总结 345
6.8 一个简单的图片爬虫 346
6.8.1 概述 346
6.8.2 命令参数 346
6.8.3 初始化调度器 348
6.8.4 监控调度器 354
6.8.5 启动调度器 364
6.9 扩展与思路 365
6.10 本章小结 368
附录A Go语言的学习资源 369
下载地址:https://pan.baidu.com/s/1kNJxoFXAalf-1Gf4TcVmVg
关注微信公众号获取提取码:
输入:go01 获取提取码

Go并发编程实战 第2版 PDF (中文版带书签)的更多相关文章
- 《Java并发编程实战》/童云兰译【PDF】下载
<Java并发编程实战>/童云兰译[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062521 内容简介 本书深入浅出地介绍了Jav ...
- 《Go并发编程实战》第2版 紧跟Go的1.8版本号
文章作者:郝林(<Go并发编程实战 (第2版)>作者) 最终来了! 经过出版社的各位编辑.校对.排版伙伴与我的N轮PK和共同努力,<Go并发编程实战>第2版的全部内容最终全然确 ...
- Spring实战(第4版).pdf - 百度云资源
http://www.supan.vip/spring%E5%AE%9E%E6%88%98 Spring实战(第4版).pdf 关于本书 Spring框架是以简化Java EE应用程序的开发为目标而创 ...
- 【Java并发编程实战】----- AQS(四):CLH同步队列
在[Java并发编程实战]-–"J.U.C":CLH队列锁提过,AQS里面的CLH队列是CLH同步锁的一种变形.其主要从两方面进行了改造:节点的结构与节点等待机制.在结构上引入了头 ...
- 【Java并发编程实战】----- AQS(三):阻塞、唤醒:LockSupport
在上篇博客([Java并发编程实战]----- AQS(二):获取锁.释放锁)中提到,当一个线程加入到CLH队列中时,如果不是头节点是需要判断该节点是否需要挂起:在释放锁后,需要唤醒该线程的继任节点 ...
- 【Java并发编程实战】----- AQS(二):获取锁、释放锁
上篇博客稍微介绍了一下AQS,下面我们来关注下AQS的所获取和锁释放. AQS锁获取 AQS包含如下几个方法: acquire(int arg):以独占模式获取对象,忽略中断. acquireInte ...
- 【Java并发编程实战】-----“J.U.C”:Exchanger
前面介绍了三个同步辅助类:CyclicBarrier.Barrier.Phaser,这篇博客介绍最后一个:Exchanger.JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点. ...
- 【Java并发编程实战】-----“J.U.C”:CountDownlatch
上篇博文([Java并发编程实战]-----"J.U.C":CyclicBarrier)LZ介绍了CyclicBarrier.CyclicBarrier所描述的是"允许一 ...
- 【Java并发编程实战】-----“J.U.C”:CyclicBarrier
在上篇博客([Java并发编程实战]-----"J.U.C":Semaphore)中,LZ介绍了Semaphore,下面LZ介绍CyclicBarrier.在JDK API中是这么 ...
随机推荐
- CQOI2016 不同的最小割 (最小割树模板)(等价流树的Gusfield构造算法)
题目 最小割树模板 算法详解及证明见: 2016年国家队候选队员论文 <浅谈无向图最小割问题的一些算法及应用--绍兴一中 王文涛> 3.2节 CODE #include <bits/ ...
- python django -在setting 设定全局时间格式
工作中遇到需要全局设定时间的格式,再此马克下 USE_L10N = False DATE_FORMAT = 'Y-m-d' DATETIME_FORMAT = 'Y年m月'
- CentOS6.5 安装ES5.5
一.CURL查看已开启的ES es5.5:elasticsearch-5.5.2.tar.gz下载,百度云地址 https://pan.baidu.com/s/17oFOQlePLtUhhJHxEPR ...
- Codeforces Round #557 题解【更完了】
Codeforces Round #557 题解 掉分快乐 CF1161A Hide and Seek Alice和Bob在玩捉♂迷♂藏,有\(n\)个格子,Bob会检查\(k\)次,第\(i\)次检 ...
- ArcGIS Enterprise 10.7.1新特性:批量发布服务
ArcGIS Enterprise 10.7.1提供了批量发布GIS服务的功能,能大大简化GIS系统管理员的工作量. 作为发布人员和管理人员,支持向Portal for ArcGIS添加云存储.文件共 ...
- 连接linux的几款工具 简介
1.Putty --支持ppk,pub格式密码连接 --支持centos --支持windows操作系统安装,网上去下载直接可以使用,免费的 安装文件在我的百度网盘:putty 安装后如下: load ...
- 用avalon框架怎么做轮播图?
avalon这个框架其实特别的小众,做个轮播图呢?在github上的例子只有一个,而且功能特别的少,有的引入的插件与avalon里面的指令又不兼容,所以找了一个owl-carousel,目前实现了移动 ...
- shell脚本编程——生产实战案例
生产实战案例 在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要 ...
- 标准ACL详解
- 部署K8S集群
1.Kubernetes 1.1.概念 kubernetes(通常称为k8s)用于自动部署.扩展和管理容器化应用程序的开源系统.它旨在提供“跨主机集群的自动部署.扩展以及运行应用程序容器的平台”.支持 ...