Go并发编程实战(第2版)

Go并发编程实战(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-04
版次: 2
ISBN: 9787115452511
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 370页
正文语种: 简体中文
丛书: 图灵原创
138人买过
  • 本书首先介绍了Go语言的优秀特性、安装设置方法、工程结构、标准命令和工具、语法基础、数据类型以及流程控制方法,接着阐述了与多进程编程和多线程编程有关的知识,然后重点介绍了goroutine、channel以及Go提供的传统同步方法,最后通过一个完整实例——网络爬虫框架进一步阐述Go语言的哲学和理念,同时分享作者在多年编程生涯中的一些见解和感悟。

    与上一版相比,本书不仅基于Go 1.8对上一版进行了全面更新,而且更深入地描绘了Go运行时系统的内部机理,并且大幅改进了示例代码。

    本书适用于有一定计算机编程基础的从业者以及对Go语言编程感兴趣的爱好者,非常适合作为Go语言编程进阶教程。 郝林

    从业12年有余的软件工匠,国内知名的Go语言技术布道者,Go语言北京用户组和GoHackers社群的发起人和组织者,多套免费在线Go语言教程的作者,深信Go语言在人工智能时代和机器人时代也能大放异彩的科技信徒。 第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
  • 内容简介:
    本书首先介绍了Go语言的优秀特性、安装设置方法、工程结构、标准命令和工具、语法基础、数据类型以及流程控制方法,接着阐述了与多进程编程和多线程编程有关的知识,然后重点介绍了goroutine、channel以及Go提供的传统同步方法,最后通过一个完整实例——网络爬虫框架进一步阐述Go语言的哲学和理念,同时分享作者在多年编程生涯中的一些见解和感悟。

    与上一版相比,本书不仅基于Go 1.8对上一版进行了全面更新,而且更深入地描绘了Go运行时系统的内部机理,并且大幅改进了示例代码。

    本书适用于有一定计算机编程基础的从业者以及对Go语言编程感兴趣的爱好者,非常适合作为Go语言编程进阶教程。
  • 作者简介:
    郝林

    从业12年有余的软件工匠,国内知名的Go语言技术布道者,Go语言北京用户组和GoHackers社群的发起人和组织者,多套免费在线Go语言教程的作者,深信Go语言在人工智能时代和机器人时代也能大放异彩的科技信徒。
  • 目录:
    第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
查看详情
12
系列丛书 / 更多
Go并发编程实战(第2版)
第一行代码:Android
郭霖 著
Go并发编程实战(第2版)
啊哈!算法
啊哈磊 著
Go并发编程实战(第2版)
推荐系统实践
项亮 著
Go并发编程实战(第2版)
深入浅出Node.js
朴灵 著
Go并发编程实战(第2版)
SEO教程:搜索引擎优化入门与进阶(第3版)
吴泽欣 著
Go并发编程实战(第2版)
Unity 3D游戏开发
宣雨松 著
Go并发编程实战(第2版)
Go语言编程
许式伟 著
Go并发编程实战(第2版)
iOS开发指南 从零基础到App Store上架(第3版)
关东升 著
Go并发编程实战(第2版)
Docker 容器与容器云(第2版)
浙江大学SEL实验室 著
Go并发编程实战(第2版)
深入React技术栈
陈屹 著
Go并发编程实战(第2版)
JavaScript设计模式与开发实践
曾探 著
Go并发编程实战(第2版)
腾云:—云计算和大数据时代网络技术揭秘
徐立冰 著
相关图书 / 更多
Go并发编程实战(第2版)
Go专家编程(第2版)
任洪彩
Go并发编程实战(第2版)
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
[澳]阿米特·萨哈(Amit Saha)著 贾玉彬 刘光磊 译;上海碳泽信息科技有限公司 审校
Go并发编程实战(第2版)
Go语言从入门到项目实战(视频版)
刘瑜 萧文翰 董树南 著
Go并发编程实战(第2版)
Go语言从入门到项目实践(超值版)
余建熙
Go并发编程实战(第2版)
Go语言学习指南:惯例模式与编程实践
乔恩·博德纳(Jon Bodner)
Go并发编程实战(第2版)
Go语言程序设计-微课视频版
肖建良;赵文丽
Go并发编程实战(第2版)
Go程序员面试笔试宝典
饶全成 欧长坤 楚秦等编著 猿媛之家 组编
Go并发编程实战(第2版)
Go语言程序设计项目化教程(微课版)
谭旭;史律;钟祥永
Go并发编程实战(第2版)
Go程序开发实战宝典
穆旭东 谭庆丰 楚秦 编著;猿媛之家 组编
Go并发编程实战(第2版)
Go语言与区块链开发(计算机类普通高等教育双一流课程系列教材)
冯柳平、陈澜祯、袁贵春、卢婷婷 编
Go并发编程实战(第2版)
Go语言Hyperledger区块链开发实战
李晓黎
Go并发编程实战(第2版)
Go语言设计模式(双色版)
廖显东
您可能感兴趣 / 更多