![](/c49/31/40135301511.jpg)
出版社:中國電力出版社 ISBN:9787519824945 商品編碼:40135301511 品牌:文軒 出版時間:2018-12-01 代碼:58 作者:凱瑟琳(KatherineCox-Buday
"![](https://img10.360buyimg.com/imgzone/jfs/t1/83303/21/22272/435579/635b88d3E0959319c/4f77b69fb6459523.png)
![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:[美]凱瑟琳(Katherine Cox-Buday) 著 [美]凱瑟琳(Katherine Cox-Buday) 編 於暢//馬鑫//趙晨光 譯 定 價:58 出 版 社:中國電力出版社 出版日期:2018年12月01日 頁 數:260 裝 幀:平裝 ISBN:9787519824945 ●前言 1第1章 並發概述 9摩爾定律,Web Scale和我們所陷入的混亂 10為什麼並發很難? 12競爭條件 13原子性 15內存訪問同步 17死鎖、活鎖和饑餓 20確定並發安全 28面對復雜性的簡單性 31第2章 對你的代碼建模:通信順序進程 33並發與並行的區別 33什麼是CSP 37如何幫助你 40Go語言的並發哲學 43第3章 Go語言並發組件 47goroutine 47sync包 58WaitGroup 58互斥鎖和讀寫鎖 60cond 64once 69池 71channel 76select 語句 92GOMAXPROCS控制 97小結 98第4章 Go語言的並發模式 99約束 99for-select循環103防止goroutine洩漏 104or-channel 109錯誤處理112pipeline 116構建pipeline的很好實踐 120一些便利的生成器 126扇入,扇出 132or-done-channel 137tee-channel 139橋接channel模式 140隊列排隊143context包 151小結 168第5章 大規模並發 169異常傳遞169超時和取消 178心跳 184復制請求197速率199治愈異常的goroutine 215小結 222第6章 goroutine和Go語言運行時 223工作竊取223竊取任務還是續體 231向開發人員展示所有這些信息 240尾聲 240附錄A 241 本書作者帶你一步一步深入這些方法。你將理解 Go語言為何選定這些並發模型,這些模型又會帶來什麼問題,以及你如何組合利用這些模型中的原語去解決問題。學習那些讓你在獨立且自信的編寫與實現任何規模並發繫統時所需要用到的技巧和工具。理解Go語言如何解決並發難以編寫正確這一根本問題。學習並發與並行的關鍵性區別。深入到Go語言的內存同步原語。利用這些模式中的原語編寫可維護的並發代碼。將模式組合成為一繫列的實踐,使你能夠編寫大規模的分布式繫統。學習 goroutine 背後的復雜性,以及Go語言的運行時如何將所有東西連接在一起。 [美]凱瑟琳(Katherine Cox-Buday) 著 [美]凱瑟琳(Katherine Cox-Buday) 編 於暢//馬鑫//趙晨光 譯 Katherine Cox-Buday是一名計算機科學家,目前工作於 Simple online banking。她的業餘愛好包括軟件工程、創作、Go 語言(igo、baduk、weiquei) 以及音樂,這些都是她長期的追求,並且有著不同層面的貢獻。 前言嘿,歡迎閱讀本書!很高興你已經拿起這本書開始閱讀,非常期待在接下來的6章中和你一起探索關於 Go語言並發編程的主題。Go語言是一種美妙的語言。當它被創造並首次公開的時候,我帶著極大的興趣探索它:簡潔、編譯速度飛快、運行穩定、支持鴨子類型(ducktyping),讓我高興的是,它原生支持並發。當我第一次使用“go 關鍵字”創建一個goroutine的時候,(我保證)我開心得隻剩傻笑了。我曾經用其他一些編程語言寫過並發程序,但我從未用過像Go語言這樣這麼容易實現並發的語言(我並不是說其他有這種特性的語言不存在,隻是我沒用過)。我已經找到了我的Go語言很好實踐。在過去的幾年裡,我用Go語言寫個人的腳本和項目,直到發現自己已經可以在成千上萬行代碼的項目中暢遊。隨著語言的不斷發展和社區的不斷壯大,我們一起找到了Go語言並發編程的很好實踐。一些人就他們找到的模式進行討論,但在社區裡還沒有如何使用G等 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" |