You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
5.5 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。