并发同步概述

本文将解释什么是并发同步,并列出Go支持的几种并发同步技术。

什么是并发同步?

并发同步是指如何控制若干并发计算(在Go中,即协程),从而 并发同步有时候也称为数据同步。

Go支持哪些并发同步技术?

通道一文已经解释了如何使用通道来做并发同步。 除了使用通道,Go还支持几种通用并发同步技术,比如互斥锁和原子操作。 请阅读下面的文章来了解各种并发同步技术的使用。

我们也可以利用网络和文件读写来做并发同步,但是这样的并发同步方法使用在一个程序进程内部时效率相对比较低。 一般来说,这样的方法多适用于多个进程之间或多个主机之间的并发同步。《Go语言101》中不介绍这样的并发同步方法。

为了更好地理解各种并发同步技术,推荐在适当的时候(具有一定的Go并发编程经验时)阅读Go中的内存顺序保证一文。

Go中提供的各种并发同步技术并不能阻止Go程序员写出不正确的并发代码。 但是,这些技术使得Go程序员可以轻松写出正确的并发代码。特别地,Go中提供的独特的通道技术使得并发编程变得很轻松和惬意。


目录↡

Go101.org网站内容包括Go编程各种相关知识(比如Go基础、Go优化、Go细节、Go实战、Go测验、Go工具等)。后续将不断有新的内容加入。敬请收藏关注期待。

本丛书微信公众号(联系方式一)名称为"Go 101"。二维码在网站首页。此公众号将时不时地发表一些Go语言相关的原创短文。各位如果感兴趣,可以搜索关注一下。

《Go语言101》系列丛书项目目前托管在Github上(联系方式二)。欢迎各位在此项目中通过提交bug和PR的方式来改进完善《Go语言101》丛书中的各篇文章。我们可以在项目目录下运行go run .来浏览和确认各种改动。

本书的twitter帐号为@Golang_101(联系方式三)。玩推的Go友可以适当关注。

你或许对本书作者老貘开发的一些App感兴趣。

The English version of this book is here.
赞赏
(《Go语言101》系列丛书由老貘从2016年7月开始编写。目前此系列丛书仍在不断改进和增容中。你的赞赏是本系列丛书和此Go101.org网站不断增容和维护的动力。)

目录: