获取资料

极客时间-Go并发编程实战课

极客时间-Go并发编程实战课

你将获得

一个丰富完整的并发原语知识库

彻底搞懂并发原语的实现原理及使用技巧

20 大型项目的真实踩坑案例及解决方案

分布式场景中并发问题的应对策略

课程介绍

我们知道,Go 语言部署简单,自带完善的工具链,不仅容易上手,而且执行性能非常好,现在已经被越来越多的人当成主要的编程语言。最重要的是,它天然支持并发,这也是它的最大优势。

但是,并发编程入门容易,想要精通却很难,主要有五大问题:

1. 在面对并发难题时,该选择哪个并发原语来解决问题呢?

2.如果多个并发原语都可以解决问题,那么,究竟哪个是最优解呢?比如说是用互斥锁,还是用 Channel。

3.并发编程不像是传统的串行编程,程序的运行存在着很大的不确定性,我们怎么才能让相应的任务按照我们设想的流程运行呢?

4.有时候,按照正常理解的并发方式去实现的程序,结果莫名其妙就 panic 或者死锁了,排查起来非常困难。

5.已知的并发原语都不能解决并发问题,程序写起来异常复杂,而且代码混乱,容易出错,该怎么办呢?

鸟窝老师在多年的项目实战中,梳理了一套并发编程的知识体系,他把独立的知识点汇总到 Go 并发编程学习矩阵的“两大主线”之中,希望帮助你系统地掌握并发编程技能。本课程几乎涵盖了市面上可以见到的所有并发原语,而且,他会带领你深入地理解各种并发原语的实现机制,全面掌握它们的功能和使用方法。同时,还会具体讲解流行的 Go 开发项目中的常见错误场景及应对方案,全方位提升你的实战能力。

极客时间-Go并发编程实战课

课程模块设计

课程分为 5 大模块。

基本并发原语:从标准库中的基本并发原语入手,详细介绍互斥锁 Mutex、RWMutex、Waitgroup、Cond、Pool、Context 等的实现机制和使用技巧,带你搞定并发编程中的常用类型。

原子操作:具体介绍标准库中的原子操作,这是其它并发原语的基础。学会了这部分内容,就可以自己创造新的并发原语。

Channel:Channel 类型是 Go 语言独特的类型,不仅会介绍它的基本用法,而且还会详解它的处理场景和应用模式,帮你规避陷阱。

扩展并发原语:目前来看,Go 开发组不准备在标准库中扩充并发原语了,但是还有一些并发原语应用得非常广泛。课程会重点讲解信号量、SingleFlight、循环栅栏、ErrGroup 等,让你能在处理一些并发问题时事半功倍。

分布式并发原语:分布式并发原语是应对大规模的应用程序中并发问题的并发类型,主要会介绍使用 etcd 实现的一些分布式并发原语,比如 Leader 选举、分布式互斥锁、分布式读写锁、分布式队列等,带你攻克分布式场景中的并发难题。

课程目录

极客时间-Go并发编程实战课

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址