M
M
Mastering_Go_ZH_CN
Search…
介绍
[0 前言]
[1 Go与操作系统]
[2 Go内部机制]
[3 Go基本数据类型]
4 组合类型的使用
5 数据结构
6 Go package中不为人知的知识
[7 反射和接口]
8 Go UNIX系统编程
9 并发-Goroutines,Channel和Pipeline
10 Go 并发-进阶讨论
10.1 重温调度器
10.2 select关键字
10.3 goroutine超时检查的两种方式
10.4 重温Channel(通道)
10.5 通过共享变量来共享内存
10.6 竞争状态
10.7 关于context包
10.8 延展阅读
10.9 练习
10.10 本章小结
11 代码测试,优化及分析
12 Go网络编程基础
13 网络编程 - 构建服务器与客户端
Powered By
GitBook
10.10 本章小结
这章解决了许多关于 goroutine 的重要主题。然而,主要的是阐明
select
语句的作用。另外是说明
context
标准包的使用。
由于
select
语句的功能,通道是非常好的 Go 方式来互连 Go 程序的组件。
并发程序又许多规则;但是,最重要的规则是您应该避免共享,除非有万不得已的情况。并发程序中,共享数据是所有 bug 的根本原因。
从这章您必须记住尽管共享内存是在同一个进程的线程之上交换数据的唯一方法,但 Go 提供了更好的方法给每个 goroutine 来通信。因此,在你的代码里使用共享内存前,考虑一下 Go 的语法。虽然如此,如果您真的不得不使用共享内存,您可能会考虑使用监视 goroutine 来代替。
下章的主要话题是代码测试,代码优化和代码分析。除了这些主题,您会了解到基准测试,交叉编译和找出隐藏代码。
下章的最后,您也会了解到怎样文档化您的代码并使用
godoc
工具生成 HTML 输出。
Previous
10.9 练习
Next
11 代码测试,优化及分析
Last modified
3yr ago
Copy link