併發,繞不過的彎兒

turingbooks發表於2020-04-07

併發,所有程式設計師都無法忽視的問題,如果不是現在,那就在不遠的X天…

小編也偶遇不少小夥伴詢問併發的圖書,圖靈恰好有那麼幾本相當經典,領域內獨一無二,不容錯過滴好書。今天就給大家推薦下。

【PS】更多經典書單請關注“圖靈教育”微信~

1、《七週七併發模型》

這裡寫圖片描述

“七週七X”是The Pragmatic Programmer出版的系列圖書,廣受歡迎,該系列已出版《七週七語言》《七週七資料庫》《七週七併發模型》,三本都是優秀之作,深入淺出、語言凝練,藉助七個精選的X幫助讀者瞭解相應領域的概況。

當今主流語言都競相支援不同的併發模型,例如CSP模型、資料並行、函數語言程式設計和Clojure的unified succession model。

本書通過以下七個精選的模型幫助讀者瞭解併發領域的輪廓:執行緒與鎖、函數語言程式設計、Clojure、actor、通訊順序程式、資料級並行、Lambda架構。這些模型中,一些已經成為主流,一些很快會成為主流,另一些雖難以成為主流,但在特定領域會威力無窮。當面對一個併發問題時,你可以藉助本書準確選擇合適的工具,這便是作者最大的期望。

“剛看完Thread and locks章節,感覺非常有收穫。作為Java水平停留在thinking in Java的人,沒想到Java的併發控制竟然還有這麼多學問,這些知識在網上往往是分散的不全面的,在此書中進行了整理對比。相信其他的章節也能帶來同樣的收穫。”

——豆瓣書友

2、Erlang的併發世界

Erlang開發者必備兩本書,一本是Erlang之父Joe Armstrong的《Erlang程式設計》,另一本就是《Erlang/OTP併發程式設計實戰》——務實、高效又不失幽默風趣!

這裡寫圖片描述

本書是理解如何進行Actor程式設計的優秀資源,不僅適用於Erlang開發人員,還適用於那些想要理解Actor為何如此重要,以及為何它們是構建反應式、可擴充套件、可恢復和事件驅動型系統的重要工具的程式設計師。

“Joe的《Erlang程式設計》一書影響巨大。第2版做了重要更新,萬眾期待,不但涵蓋核心語言和框架的基本內容,還涉及rebar和cowboy這樣的關鍵社群專案。有經驗的Erlang程式設計師也能在書裡找到各種有用的提示和新見解,初學者則會喜歡Joe在介紹和闡釋關鍵語言概念時所使用的清楚和有條理的方式。”

這裡寫圖片描述

“翻譯水水平一流,譯者注有意思。”

本書主要分為三大部分:第一部分講解Erlang程式設計及OTP基礎;第二部分講解如何在實際開發中逐一新增OTP高階特性,從而完善應用,作者通過貫穿本書的主專案——加速Web訪問的分散式快取應用,深入淺出地闡明瞭實踐中的各種技巧;第三部分討論如何將程式碼與其他系統和使用者整合,以及如何進行效能調優。

這本書最大的特點是側重生產環境下的Erlang開發,主要講解如何構建穩定、版本控制良好、可維護的產品級程式碼,凝聚了三位Erlang大師多年的實戰經驗。

3、《Go併發程式設計實戰》

這裡寫圖片描述

關於Go講解最細緻的一本書。

“併發程式設計的支援無疑是Go語言最大的亮點。但是,儘管Go語言大幅降低了併發程式設計的門檻,但至今大部分開發者對如何運用該語言編寫高併發程式的認知仍然有限。我很高興能有一本專門探討Go語言併發程式設計的書。《Go併發程式設計實戰》這本書對Go語言併發程式設計的探討之深入、講解之細膩是它的一大亮點。同時,這本書也非常適合作為Go語言的入門教材,即便是對Go語言瞭解不深甚至從未接觸的人也能從中獲益。另外,書中的示例也非常有價值,它們貼切地展現了用Go語言進行程式設計的方法和技巧。總之,《Go併發程式設計實戰》是一份難得的Go語言學習資料。”

——許式偉,七牛雲端儲存CEO

本書全面介紹了Go語言的特點、安裝部署環境、工程規範、工具鏈、語言語法、併發程式設計模型以及在多個程式設計實戰中的應用,重點闡述了Go語言併發程式設計模型和機制。

4、《C#併發程式設計經典例項》

這裡寫圖片描述

C#領域關於併發程式設計最好的一本書,填補了市場空白。

“涵蓋各種併發程式設計技術,本書體例必然成就其為現代.NET併發技術的理想參考書。”

——Jon Skeet,谷歌高階軟體開發工程師,

StackOverflow排名第一的傑出程式設計師,

著有《深入理解C#》

本書全面講解C#併發程式設計技術,側重於.NET平臺上較新、較實用的方法。全書分為幾大部分:首先介紹幾種併發程式設計技術,包括非同步程式設計、並行程式設計、TPL資料流、響應式程式設計;然後闡述一些重要的知識點,包括測試技巧、互操作、取消併發、函數語言程式設計與OOP、同步、排程;最後介紹了幾個實用技巧。全書共包含75個有配套原始碼的實用方法,可用於伺服器程式、桌面程式和移動端應用的開發。本書適合具有.NET基礎、希望學習最新併發程式設計技術的開發人員。

5、《面向模式的軟體架構,卷2:併發和聯網物件模式》

這裡寫圖片描述

模式五卷本中的第2卷,介紹構建物件導向聯網與併發中介軟體的開山之作,揭開了構建中介軟體的神祕面紗。本書以4位大師的經驗為導向,邏輯嚴密,仔細解釋了常見的設計問題、驅動因素、成功的解決方案以及使用效果。本卷介紹的一種模式語言,涵蓋了構建物件導向通訊系統的設計步驟。

模式五卷本分別為:

面向模式的軟體架構

卷1:模式系統

卷2:併發和聯網物件模式

卷3:資源管理模式

卷4:分散式計算的模式語言

卷5:模式與模式語言

相關文章