82 lines
5.5 KiB
Markdown
82 lines
5.5 KiB
Markdown
|
# Go 并发编程实战课
|
|||
|
|
|||
|
## 你将获得
|
|||
|
|
|||
|
* 一个丰富完整的并发原语知识库
|
|||
|
* 彻底搞懂并发原语的实现原理及使用技巧
|
|||
|
* 20+大型项目的真实踩坑案例及解决方案
|
|||
|
* 分布式场景中并发问题的应对策略
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 讲师介绍
|
|||
|
|
|||
|
晁岳攀,网名鸟窝,前微博技术专家,知名微服务框架rpcx的作者,先后在摩托罗拉、Comcast担任开发和管理工作,著有《Scala集合技术手册》一书,并在台湾发行了繁体版。
|
|||
|
|
|||
|
在微博研发平台架构中心担任资深架构师期间,使用Go参与开发多个基础架构系统,并负责中国版权链,微博下一代的Redis集群系统、数据库资源云等系统的设计和开发,有大量的高并发高吞吐的服务器开发经验。
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 课程介绍
|
|||
|
|
|||
|
我们知道,Go语言部署简单,自带完善的工具链,不仅容易上手,而且执行性能非常好,现在已经被越来越多的人当成主要的编程语言。最重要的是,它天然支持并发,这也是它的最大优势。
|
|||
|
|
|||
|
但是,并发编程入门容易,想要精通却很难,主要有五大问题:
|
|||
|
|
|||
|
1. 在面对并发难题时,**该选择哪个并发原语来解决问题呢?**
|
|||
|
2. 如果多个并发原语都可以解决问题,那么,**究竟哪个是最优解呢**?比如说是用互斥锁,还是用Channel。
|
|||
|
3. 并发编程不像是传统的串行编程,程序的运行存在着很大的不确定性,我们**怎么才能让相应的任务按照我们设想的流程运行呢**?
|
|||
|
4. 有时候,按照正常理解的并发方式去实现的程序,结果莫名其妙就panic或者死锁了,**排查起来非常困难**。
|
|||
|
5. **已知的并发原语都不能解决并发问题**,程序写起来异常复杂,而且代码混乱,容易出错,该怎么办呢?
|
|||
|
|
|||
|
鸟窝老师在多年的项目实战中,梳理了一套并发编程的知识体系,他把独立的知识点汇总到Go并发编程学习矩阵的“两大主线”之中,希望帮助你系统地掌握并发编程技能。本课程几乎涵盖了市面上可以见到的所有并发原语,而且,他会带领你深入地理解各种并发原语的实现机制,全面掌握它们的功能和使用方法。同时,还会具体讲解流行的Go开发项目中的常见错误场景及应对方案,全方位提升你的实战能力。
|
|||
|
|
|||
|
![](https://static001.geekbang.org/resource/image/74/b1/74b053f21239d7b10b94638cb23eefb1.jpg)
|
|||
|
|
|||
|
## 课程模块设计
|
|||
|
|
|||
|
课程分为5大模块。
|
|||
|
|
|||
|
* **基本并发原语**:从标准库中的基本并发原语入手,详细介绍互斥锁Mutex、RWMutex、Waitgroup、Cond、Pool、Context等的实现机制和使用技巧,带你搞定并发编程中的常用类型。
|
|||
|
* **原子操作:**具体介绍标准库中的原子操作,这是其它并发原语的基础。学会了这部分内容,就可以自己创造新的并发原语。
|
|||
|
* **Channel**:Channel类型是Go语言独特的类型,不仅会介绍它的基本用法,而且还会详解它的处理场景和应用模式,帮你规避陷阱。
|
|||
|
* **扩展并发原语**:目前来看,Go开发组不准备在标准库中扩充并发原语了,但是还有一些并发原语应用得非常广泛。课程会重点讲解信号量、SingleFlight、循环栅栏、ErrGroup等,让你能在处理一些并发问题时事半功倍。
|
|||
|
* **分布式并发原语**:分布式并发原语是应对大规模的应用程序中并发问题的并发类型,主要会介绍使用etcd实现的一些分布式并发原语,比如Leader选举、分布式互斥锁、分布式读写锁、分布式队列等,带你攻克分布式场景中的并发难题。
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 课程目录
|
|||
|
|
|||
|
![](https://static001.geekbang.org/resource/image/7a/de/7af6e5216dd0cc449878b3949a3e81de.jpg)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 适合人群
|
|||
|
|
|||
|
有一定的Go语言基础,能使用一些基本的并发原语,不适合0基础的工程师
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 特别放送
|
|||
|
|
|||
|
#### 免费领取福利
|
|||
|
|
|||
|
[![](https://static001.geekbang.org/resource/image/16/13/1664800067c250a67yy94c57d0e76c13.jpg?wh=1035x360)](https://time.geekbang.org/article/428647)
|
|||
|
|
|||
|
|
|||
|
#### 限时活动推荐
|
|||
|
|
|||
|
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 订阅须知
|
|||
|
|
|||
|
1. 订阅成功后,推荐通过“极客时间”App端、Web端学习。
|
|||
|
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
|
|||
|
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
|
|||
|
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
|
|||
|
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
|
|||
|
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1),订阅课程享受原价5折优惠。
|
|||
|
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。
|