這位大牛講了啥?讓數百位 gopher 現場跪求PPT

jimengzhineng發表於2019-05-10

4月28日,第五屆 GopherChina 大會在北京圓滿落幕了。會後,參會的 gopher第一時間在知乎以及朋友圈分享了對 GopherChina 2019大會的講師、話題以及乾貨內容進行了評價。小編在整理參會 gopher 們對大會的評價時,發現很多 gopher 都提到來自微博研發平臺架構中心資深架構師-晁嶽攀老師分享的《Go 同步和併發設計模式》超級乾貨,從原始碼級別探究 Go 在併發層面的基礎庫實現,內容非常全面和豐富,有細節有深度。

據悉,在今年的 GopherChina 大會上,晁嶽攀老師的分享剛剛結束,大會現場群裡就已經開始沸騰起來了,大家紛紛跪求晁老師主題分享的120頁完整版PPT。

大家想 get 到晁老師更多的技術實踐乾貨,僅憑一個PPT怎麼行呢?北京的小夥伴們有福了!Go中國社群再次攜手滴滴邀請晁嶽攀老師於5月26日在北京舉辦《深入Go 併發程式設計》培訓專場,跟著晁嶽攀老師一起強學博識,get 到更多的Go 併發程式設計實踐乾貨。

關於晁嶽攀

18 年的軟體研發經驗,軟體開發的老兵,Scala 集合技術手冊(簡/繁版)的作者,Go 微服務框架 rpcx 的作者。 高效能的服務治理 rpcx (Go) 框架的開發者,先前在同方、Motorola、comcast從事軟體開發工作,現在在微博平臺研發部做基礎平臺的研發工作。既有跨國公司的軟體開發經歷,也有網際網路公司的研發經驗,主要專注於後臺中介軟體產品和基礎架構設計、微服務、區塊鏈等方向。 經常在網上和個人網站(http://colobu.com)發表一些技術文章

深入Go併發程式設計研討課

Go 提供了我們便利的進行併發程式設計的工具、方法和同步原語,同時也提供給我們諸多的犯錯的機會,也就是俗稱的“坑”。即使是頂級 Go 開發的專案,比如 Docker、Kubernetes、gRPC、etcd, 都是有經驗豐富的 Go 開發專家鎖開發,也踩過不少的併發的坑,而且依然源源不斷的繼續踩著,即便是標準庫也是這樣。

有時候,幸福是建立在別人的痛苦之上。分析和總結併發程式設計中的陷阱,避免重複踩在別人的坑中,正是本次培訓課的重要內容。只有深入瞭解併發原語的實現,全面瞭解它們的特性和限制場景,注意它們的侷限和容易踩的坑,才能提高我們的併發程式設計的能力。通過了解和學習其他人的經驗和貢獻的專案和庫,我們可以更好的擴充套件我們的視野,避免重複的造輪子,或者說我們可以製作更好的輪子。

語言的記憶體模型定義了對變數的讀寫的可見性,可以清晰而準確讀寫事件的 happen before 關係。對於我們,可以很好地分析和編排 goroutine 的執行,避免資料的競爭和不一致的問題。

通過本次課程,你可以收穫

瞭解基本同步原語的具體實現、hack同步原語進行擴充套件,瞭解它們的使用場景和坑,已經別人是怎麼踩的

瞭解一些擴充套件的同步源於,對於標準庫sync包的補充

對於規模很大的專案,分散式同步原語是必不可少的,帶你瞭解便利的分散式同步原語

atomic 可以保證對資料操作的一致性,利用 CAS 可以設計 lock-free 的資料結構

channel 是 Go 語言進行併發程式設計的很好的工具,帶你瞭解它的使用姿勢

瞭解 Go 語言的記憶體模型

本次課程大綱及時間安排

併發原語綜述 (10分鐘)

基本併發原語 (2小時)

Mutex 的實現、擴充套件功能和坑。

RWMutex 的實現、擴充套件功能和坑。

Waitgroup 的實現、坑

Cond 的使用和坑

Once 的實現和坑,單例的 Eager/Lazy 實現

Pool 的坑, net.Conn 的池

Map 的實現、應用場景

Context 的一些問題

擴充套件併發原語 (1小時)

可重入鎖

訊號量

SingleFlight 及應用

ErrGroup

自旋鎖

檔案鎖

併發 Map 的多種實現

原子操作 (半小時)

原子操作的實現

操作的資料型別

提供的函式

通用 Value 型別

擴充套件的原子操作庫

分散式併發原語 (1小時)

鎖,Mutex, RWmutex 實戰

柵欄

leader 選舉

佇列

STM

其它分散式併發庫

channel (1小時)

常見易犯錯的 channel 使用場景

三大使用場景

Or-done 模式的三種實現

扇入

扇出

Tee

Pipeline

流式處理

happenbefore (1小時)

init函式

goroutine

channel

Mutex/RWMutex

Waitgroup

Once

atomic

習題研討 (20分鐘)

培訓時間及地點

時間:2019年5月26日 9:00-18:00

地址:北京市海淀區中關村軟體園一期尚東數字山谷B區2號樓(黎明大廈)

報名方式:點選“閱讀原文”即可報名,本次培訓數量門票有限,北京的夥伴們抓緊時間啦~~

相關文章