美文网首页
Go并发编程实践

Go并发编程实践

作者: SunnyZhang的IT世界 | 来源:发表于2019-04-24 08:45 被阅读0次

Go语言最大的特点就是并发编程,它实现了一种基于协程的并发模型。轻量级的协程模型减少了线程模型的切换消耗,大大增加了并发性能。本书这时对Go语言并发进行深入讲解的不可多得的好书。

image

书籍目录

第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://u19702000.ctfile.com/fs/19702000-355800537
仅可用于非商业学习,如有侵权,请联系本号删除。

相关文章

  • Go 并发编程实践

    前言:最近,优化了公司内部的一个常用接口,请求的耗时稳定优化在 200 ms 内(对比之前 300~500 ms)...

  • Go并发编程实践

    Go语言最大的特点就是并发编程,它实现了一种基于协程的并发模型。轻量级的协程模型减少了线程模型的切换消耗,大大增加...

  • Go基础语法(九)

    Go语言并发 Go 是并发式语言,而不是并行式语言。 并发是指立即处理多个任务的能力。 Go 编程语言原生支持并发...

  • Go并发

    Go语言中的并发编程 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很...

  • 瞅一眼就会使用GO的并发编程分享

    [TOC] GO的并发编程分享 之前我们分享了网络编程,今天我们来看看GO的并发编程分享,我们先来看看他是个啥 啥...

  • day08-go.GPM

    当别人到go为什么支持高并发,或者问为什么go本身对并发编程友好?以及go与Java对比的并发对比 正确回答: 在...

  • 《Go并发编程实践》接口练习

    牛人是把书读薄,而我这只菜鸟是把书读得越来越厚了,以致于开始一起看书的伙伴怀疑我是不是偷懒,怎么就一点进展也没有。...

  • 推荐序 《Go 并发编程实践》

    Go 是年轻而有活力的语言。 它最初于 2007 由 Robert Griesemer, Rob Pike 和 K...

  • Go语言简介

    Go语言简介 Go语言设计的初衷 针对其他语言的痛点进行设计并加入并发编程为大数据,微服务,并发而生的通用编程语言...

  • 13 Go并发编程初探

    一、Go并发编程概述 Go以并发性能强大著称,在在语言级别就原生支持,号称能实现百万级并发,并以此独步江湖,本专题...

网友评论

      本文标题:Go并发编程实践

      本文链接:https://www.haomeiwen.com/subject/shqwgqtx.html