总结
在本章中,我们讨论了一个重要且具有独特挑战性的主题:并发。由于对并发机制的深入理解对于避免问题非常重要,我们首先学习了 Go 的两个最核心的并发机制——goroutine 和 channel 的基础知识。然后,我们研究了三个应用并发的示例,这些示例帮助我们进一步探索了它们的行为。
一旦我们熟悉了并发的工作原理,我们就开始研究一些常见的并发问题。Go 竞态检测器 是一个可以帮助我们检测数据竞争并为工程师提供精准指导以帮助他们解决问题的工具。然而,由于时间的重要性,无法最终证明不存在并发问题,因此谨慎的设计始终是第一道防线。最后,我们看了一个应用示例,说明如何使用基准测试对 BookSwap 应用程序进行并发调用,并使用 Go 的竞态检测器检测问题。
在第 10 章《测试边缘情况》中,我们将探讨如何扩展测试并利用 Go 的模糊测试功能确保我们的代码健壮性。