Cond 条件变量 1. Cond 概述 Go 标准库提供 Cond 原语的目的是,为等待 / 通知场景下的并发问题提供支持。Cond 通常应用于等待某个条件的一组 goroutine,
WaitGroup 任务编排 1. WaitGroup 使用 WaitGroup 很简单,就是 package sync 用来做任务编排的一个并发原语。它要解决的就是并发 - 等待的问题: goroutine A 等待一组 goroutine 全部完成。 很多操作系统和编程
读写锁 RWMutex 1. RWMutex 使用 标准库中的 RWMutex 是一个 reader/writer 互斥锁,用来解决并发读写问题,特别适用于读多写少的场景。RWMutex 在某一时刻只能由任意数量的 reader 持有,
如何基于 Mutex 实现一个可重入锁 1. Mutex 的扩展 上一节我们介绍了 Mutex 的实现原理,这一节我们来看看如何基于标准库的 Mutex 来扩展 Mutex 提供的并发原语,包括: 实现一个可
Go 第一个并发原语 Mutex 互斥锁 1. Mutex 的使用 互斥锁是最基本的并发原语,使用互斥锁,限定临界区只能同时由一个线程持有。基本上所有编程语言都会提供,Go 中
这个系列我们开始学习 Go 语言的第四个部分: 并发编程。 1. 学习内容 Go 语言的并发编程,我们学习的核心内容来自于极客时间的专栏Go 并发编程实战课,作者