Go并发编程实战

Go并发编程实战

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
6.375 评价豆瓣读书
免费试读

作品简介

本书全面介绍了Go语言的特点、安装部署环境、工程规范、工具链、语言语法、并发编程模型以及在多个编程实战中的应用,重点阐述了Go语言并发编程模型和机制。本书共分为四个部分,介绍了Go语言编程环境搭建、Go语言基础编程、Go语言并发编程方法及其原理,以及使用Go语言开发的应用系统的案例讲解。

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

郝林,Gopher、高级Java软件工程师、Python程序员和Linux爱好者。目前在宜信公司的小微企业增值服务中心任软件系统架构师。曾就职于搜狐网多年,并任Java项目经理。在互联网软件的设计和开发方面拥有丰富的实战经验。微博名:特价萝卜。

作品目录

  1. 专家推荐
  2. 推荐序
  3. 前言
  4. 本书结构
  5. 目标读者
  6. 关于示例代码
  7. 关于勘误
  8. 致谢
  9. 第一部分 Go语言的世界
  10. 第 1 章 初识Go语言
  11. 1.1 Go语言特性一瞥
  12. 1.2 Go语言的优劣
  13. 1.3 怎样学习Go语言
  14. 1.4 本章小结
  15. 第 2 章 Go语言环境搭建
  16. 2.1 安装和设置
  17. 2.1.1 Linux
  18. 2.1.2 Windows
  19. 2.2 工程结构
  20. 2.2.1 工作区
  21. 2.2.2 GOPATH
  22. 2.2.3 源码文件
  23. 2.2.4 代码包
  24. 2.3 标准命令概述
  25. 2.4 本章小结
  26. 第二部分 编程基础
  27. 第 3 章 词法与数据类型
  28. 3.1 基本词法
  29. 3.1.1 标识符
  30. 3.1.2 关键字
  31. 3.1.3 字面量
  32. 3.1.4 类型
  33. 3.1.5 操作符
  34. 3.1.6 表达式
  35. 3.2 数据类型
  36. 3.2.1 基本数据类型
  37. 3.2.2 数组
  38. 3.2.3 切片
  39. 3.2.4 字典
  40. 3.2.5 函数和方法
  41. 3.2.6 接口
  42. 3.2.7 结构体
  43. 3.2.8 指针
  44. 3.2.9 数据初始化
  45. 3.3 数据的使用
  46. 3.3.1 赋值语句
  47. 3.3.2 常量与变量
  48. 3.3.3 可比性与有序性
  49. 3.3.4 类型转换
  50. 3.3.5 内建函数
  51. 3.4 本章小结
  52. 第 4 章 流程控制方法
  53. 4.1 基本流程控制
  54. 4.1.1 代码块和作用域
  55. 4.1.2  if 语句
  56. 4.1.3  switch 语句
  57. 4.1.4  for 语句
  58. 4.1.5  goto 语句
  59. 4.2  defer 语句
  60. 4.3 异常处理
  61. 4.3.1  error
  62. 4.3.2  panic 和 recover
  63. 4.4 实战演练——Set
  64. 4.5 实战演练——Ordered Map
  65. 4.6 本章小结
  66. 第 5 章 程序测试和文档
  67. 5.1 程序测试
  68. 5.1.1 功能测试
  69. 5.1.2 基准测试
  70. 5.1.3 样本测试
  71. 5.1.4 测试运行记录
  72. 5.1.5 测试覆盖率
  73. 5.2 程序文档
  74. 5.3 本章小结
  75. 第三部分 并发编程
  76. 第 6 章 并发编程综述
  77. 6.1 并发编程基础
  78. 6.1.1 串行程序与并发程序
  79. 6.1.2 并发程序与并行程序
  80. 6.1.3 并发程序与并发系统
  81. 6.1.4 并发程序的不确定性
  82. 6.1.5 并发程序内部的交互
  83. 6.2 多进程编程
  84. 6.2.1 进程
  85. 6.2.2 关于同步
  86. 6.2.3 管道
  87. 6.2.4 信号
  88. 6.2.5 Socket
  89. 6.3 多线程编程
  90. 6.3.1 线程
  91. 6.3.2 线程的同步
  92. 6.4 多线程与多进程
  93. 6.5 多核时代的并发编程
  94. 6.6 Go语言的并发编程
  95. 6.6.1 线程实现模型
  96. 6.6.2 调度器
  97. 6.6.3 更多的细节
  98. 6.7 本章小结
  99. 第 7 章 Goroutine和Channel
  100. 7.1 Goroutine的使用
  101. 7.1.1  go 语句与Goroutine
  102. 7.1.2 Goroutine的运作过程
  103. 7.1.3  runtime 包与Goroutine
  104. 7.1.4 Happens Before
  105. 7.2 Channel
  106. 7.2.1 Channel是什么
  107. 7.2.2 单向Channel
  108. 7.2.3  for 语句与Channel
  109. 7.2.4  select 语句
  110. 7.2.5 非缓冲的Channel
  111. 7.2.6  time 包与Channel
  112. 7.3 实战演练——载荷发生器
  113. 7.3.1 参数和结果
  114. 7.3.2 基本结构
  115. 7.3.3 初始化
  116. 7.3.4 启动和停止
  117. 7.3.5 调用器和功能测试
  118. 7.4 本章小结
  119. 第 8 章 同步
  120. 8.1 锁的使用
  121. 8.2 条件变量
  122. 8.3 原子操作
  123. 8.4 只会执行一次
  124. 8.5 WaitGroup
  125. 8.6 临时对象池
  126. 8.7 实战演练——Concurrent Map
  127. 8.8 本章小结
  128. 第四部分 编程实战
  129. 第 9 章 一个网络爬虫框架的设计和实现
  130. 9.1 网络爬虫与框架
  131. 9.2 功能需求和分析
  132. 9.3 总体设计
  133. 9.4 详细设计
  134. 9.4.1 基本数据结构
  135. 9.4.2 接口的设计
  136. 9.5 中间件的实现
  137. 9.5.1 通道管理器
  138. 9.5.2 实体池
  139. 9.5.3 停止信号
  140. 9.5.4 ID生成器
  141. 9.6 处理模块的实现
  142. 9.6.1 网页下载器
  143. 9.6.2 分析器
  144. 9.6.3 条目处理管道
  145. 9.7 调度器的实现
  146. 9.7.1 基本结构
  147. 9.7.2 主要的函数和方法
  148. 9.7.3 请求缓存
  149. 9.7.4 摘要信息的类型
  150. 9.8 一个使用演示
  151. 9.8.1 再看调度器参数
  152. 9.8.2 开启调度器
  153. 9.8.3 调度器监控函数
  154. 9.9 当前的不足和解决思路
  155. 9.10 本章小结
  156. 附录 Go语言的学习资源
  157. 知名的Go语言开源框架
  158. 国内的Go语言社区
载入中

热门划线

喜欢这本书的人也喜欢