# 14 协程(goroutine)与通道(channel) 就像21世纪编程语言期望的那样,Go内置了对程序(网络,客户端-服务器,分布式计算,参见[章节15](15.0.md))间通讯的支持并且提供了并发编程的支持。可以使程序同时运行不同的代码块,可能在不同的处理器甚至是不同的电脑上。为了构建并发程序,go提供了`goroutines`和`channels`基础模块。他们的实现需要语言自身的支持以及编译器和运行环境的支持。Go提供的垃圾回收器也为并发编程提供了便利。 不要通过共享内存来通信。取而代之的是通过通信来共享内存。 使通讯相互协调。 ## 链接 - [目录](directory.md) - 上一节:[性能调试:分析并优化 Go 程序](13.10.md) - 下一节:[并发,并行和协程](14.1.md)