Go語言并發(fā)之道.pdf
http://www.www.srpcoatings.com
2020年11月19日
![]() |
| 第1頁 |
![]() |
| 第10頁 |
![]() |
| 第20頁 |
![]() |
| 第30頁 |
![]() |
| 第45頁 |
![]() |
| 第208頁 |
參見附件(143810KB,250頁)。
Go語言并發(fā)之道版
本書作者帶你一步一步深入這些方法。你將理解 Go語言為何選定這些并發(fā)模型,這些模型又會帶來什么問題,以及你如何組合利用這些模型中的原語去解決問題,想要了解更多的就快來開始閱讀吧

相關(guān)內(nèi)容部分預(yù)覽





內(nèi)容簡介
本書作者帶你一步一步深入這些方法。你將理解 Go語言為何選定這些并發(fā)模型,這些模型又會帶來什么問題,以及你如何組合利用這些模型中的原語去解決問題。學(xué)習(xí)那些讓你在獨立且自信的編寫與實現(xiàn)任何規(guī)模并發(fā)系統(tǒng)時所需要用到的技巧和工具。
理解Go語言如何解決并發(fā)難以編寫正確這一根本問題。
學(xué)習(xí)并發(fā)與并行的關(guān)鍵性區(qū)別。
深入到Go語言的內(nèi)存同步原語。
利用這些模式中的原語編寫可維護(hù)的并發(fā)代碼。
將模式組合成為一系列的實踐,使你能夠編寫大規(guī)模的分布式系統(tǒng)。
學(xué)習(xí) goroutine 背后的復(fù)雜性,以及Go語言的運行時如何將所有東西連接在一起。
作者簡介
Katherine Cox-Buday是一名計算機科學(xué)家,目前工作于 Simple online banking。她的業(yè)余愛好包括軟件工程、創(chuàng)作、Go 語言(igo、baduk、weiquei) 以及音樂,這些都是她長期的追求,并且有著不同層面的貢獻(xiàn)。
目錄
前言 1
第1章 并發(fā)概述 9
摩爾定律,Web Scale和我們所陷入的混亂 10
為什么并發(fā)很難? 12
競爭條件 13
原子性 15
內(nèi)存訪問同步 17
死鎖、活鎖和饑餓 20
確定并發(fā)安全 28
面對復(fù)雜性的簡單性 31
第2章 對你的代碼建模:通信順序進(jìn)程 33
并發(fā)與并行的區(qū)別 33
什么是CSP 37
如何幫助你 40
Go語言的并發(fā)哲學(xué) 43
第3章 Go語言并發(fā)組件 47
goroutine 47
sync包 58
WaitGroup 58
互斥鎖和讀寫鎖 60
cond 64
once 69
池 71
channel 76
select 語句 92
GOMAXPROCS控制 97
小結(jié) 98
第4章 Go語言的并發(fā)模式 99
約束 99
for-select循環(huán)103
防止goroutine泄漏 104
or-channel 109
錯誤處理112
pipeline 116
構(gòu)建pipeline的最佳實踐 120
一些便利的生成器 126
扇入,扇出 132
or-done-channel 137
tee-channel 139
橋接channel模式 140
隊列排隊143
context包 151
小結(jié) 168
第5章 大規(guī)模并發(fā) 169
異常傳遞169
超時和取消 178
心跳 184
復(fù)制請求197
速率限制199
治愈異常的goroutine 215
小結(jié) 222
第6章 goroutine和Go語言運行時 223
工作竊取223
竊取任務(wù)還是續(xù)體 231
向開發(fā)人員展示所有這些信息 240
尾聲 240
附錄A 241
前言/序言
前言
嘿,歡迎閱讀本書!很高興你已經(jīng)拿起這本書開始閱讀,非常期待在接下來的6章中和你一起探索關(guān)于 Go語言并發(fā)編程的主題。
Go語言是一種美妙的語言。當(dāng)它被創(chuàng)造并首次公開的時候,我?guī)е鴺O大的興趣探索它:簡潔、編譯速度飛快、運行穩(wěn)定、支持鴨子類型(ducktyping),讓我高興的是,它原生支持并發(fā)。當(dāng)我第一次使用“go 關(guān)鍵字”創(chuàng)建一個goroutine的時候,(我保證)我開心得只剩傻笑了。我曾經(jīng)用其他一些編程語言寫過并發(fā)程序,但我從未用過像Go語言這樣這么容易實現(xiàn)并發(fā)的語言(我并不是說其他有這種特性的語言不存在,只是我沒用過)。我已經(jīng)找到了我的Go語言最佳實踐。
在過去的幾年里,我用Go語言寫個人的腳本和項目,直到發(fā)現(xiàn)自己已經(jīng)可以在成千上萬行代碼的項目中暢游。隨著語言的不斷發(fā)展和社區(qū)的不斷壯大,我們一起找到了Go語言并發(fā)編程的最佳實踐。
一些人就他們找到的模式進(jìn)行討論,但在社區(qū)里還沒有如何使用Go語言并發(fā)編程的綜合指南。
正是考慮到這一點,我才決定寫這本書。我希望可以讓社區(qū)了解到關(guān)于Go語言并發(fā)編程的一些全面且高質(zhì)量的信息:如何使用,最佳實踐,以及如何將它集成到你的系統(tǒng)中,還有它背后的工作原理。我竭盡全力均衡這些關(guān)注點。我希望這是一本對你有益的書。
Go語言并發(fā)之道版截圖


您現(xiàn)在查看是摘要介紹頁, 詳見PDF附件(143810KB,250頁)。
之道_1.jpg)
之道_2.jpg)
之道_3.jpg)
之道_4.jpg)
之道_5.jpg)
之道_6.jpg)