21、结束语你好,我是鸟窝。很高兴和你一起度过了一个多月的时间,到了和你说再见的时候了。 在过去的这些年里,我一直在研究Go并发编程,时间越久,越觉得,掌握Go并发原语是一件很有意思的事情。 很多刚开始学习并发原语的同学给我留言说:“使用Go写并发程序很容易啊,...2025-10-28
20、在分布式环境中,队列、栅栏和STM该如何实现?你好,我是鸟窝。 上一讲,我已经带你认识了基于etcd实现的Leader选举、互斥锁和读写锁,今天,我们来学习下基于etcd的分布式队列、栅栏和STM。 只要你学过计算机算法和数据结构相关的知识, 队列这种数据结构你一定不陌生,它是一种先进先出的类型...2025-10-28
19、在分布式环境中,Leader选举、互斥锁和读写锁该如何实现?你好,我是鸟窝。 在前面的课程里,我们学习的并发原语都是在进程内使用的,也就是我们常见的一个运行程序为了控制共享资源、实现任务编排和进行消息传递而提供的控制类型。在接下来的这两节课里,我要讲的是几个分布式的并发原语,它们控制的资源或编排的任务分布在不...2025-10-28
18、用什么并发原语处理一组子任务?你好,我是鸟窝。 共享资源保护、任务编排和消息传递是Go并发编程中常见的场景,而分组执行一批相同的或类似的任务则是任务编排中一类情形,所以,这节课,我专门来介绍一下分组编排的一些常用场景和并发原语,包括ErrGroup、gollback、Hunch和...2025-10-28
17、请求合并和循环栅栏该怎么用?你好,我是鸟窝。 这节课,我来给你介绍两个非常重要的扩展并发原语:SingleFlight和CyclicBarrier。SingleFlight的作用是将并发请求合并成一个请求,以减少对下层服务的压力;而CyclicBarrier是一个可重用的栅栏并...2025-10-28