Go語言中的高效並發技術 Effective Concurrency in Go: Develop, analyze, and troubleshoot high performance concurrent applications with ease
[美]波拉克·瑟達 著 黃永強 譯
- 出版商: 清華大學
- 出版日期: 2024-05-01
- 售價: $534
- 貴賓價: 9.5 折 $507
- 語言: 簡體中文
- 頁數: 186
- ISBN: 7302659745
- ISBN-13: 9787302659747
-
相關分類:
Go 程式語言
- 此書翻譯自: Effective Concurrency in Go: Develop, analyze, and troubleshoot high performance concurrent applications with ease
立即出貨
買這商品的人也買了...
-
單元測試的藝術, 2/e (The Art of Unit Testing: with examples in C#, 2/e)$650$507 -
Go語言高併發與微服務實戰$534$507 -
Go 語言精進之路:從新手到高手的編程思想、方法和技巧 1$594$564 -
Go 語言精進之路:從新手到高手的編程思想、方法和技巧 2$714$678 -
$500React Hooks 實戰 -
React 設計原理$654$621 -
React Hooks 開發實戰$534$507 -
DevOps Handbook |打造世界級技術組織的實踐指南, 2/e (中文版) (The Devops Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations, 2/e)$650$514 -
高效能 Go 程式設計|資料驅動的效能優化 (Efficient Go: Data-Driven Performance Optimization)$780$616 -
$668ReactJS 實踐入門 -
前端開發測試入門|現在知道也還不遲的自動化測試策略必備知識$580$458 -
零基礎 Go語言算法實戰$648$616 -
建立演進式系統架構|支援常態性的變更, 2/e (Building Evolutionary Architectures: Automated Software Governance, 2/e)$580$458 -
實戰領域驅動設計:高效軟體開發的正確觀點、應用策略與實作指引 (Implementing Domain-Driven Design)$1,280$998 -
$356Kubernetes 零基礎實戰 -
駕馭組織 DevOps 六面向:變革、改善與規模化的全局策略$750$585 -
Clean Code 錦囊妙計 (Clean Code Cookbook : Recipes to Improve the Design and Quality of Your Code)$880$695 -
C 的快速 + Python 的易學 - Go語言全功能開發養成書$880$695 -
前端測試指南:策略與實踐$650$507 -
GO語言微服務開發實踐$594$564 -
無瑕的程式碼 軟體工匠篇:程式設計師必須做到的紀律、標準與倫理 (Clean Craftsmanship: Disciplines, Standards, and Ethics)$720$562 -
流暢的 React : 建構快速、高效、直覺的 Web 應用程式 (Fluent React: Build Fast, Performant, and Intuitive Web Applications)$780$616 -
Flutter 勇者之書:跨平台程式開發的新手入坑首選指南(iThome鐵人賽系列書)$720$562 -
電子商務與 ChatGPT:物聯網 ‧ KOL直播 ‧ 區塊鏈 ‧ 社群行銷 ‧ 大數據 ‧ 智慧商務, 2/e$780$608 -
UX 互動設計聖經:提升互動體驗的 100個 UX 設計法則 (Universal Principles of UX: 100 Timeless Strategies to Create Positive Interactions Between People and Technology)$630$498
相關主題
商品描述
《Go語言中的高效並技術》詳細闡述了與Go語言並發技術相關的基本知識,主要包括並發—高級概述、Go並發原語、Go內存模型、一些眾所周知的並發問題、工作池和管道、錯誤和恐慌處理、Timer和Ticker、並發處理請求、原子內存操作、解決並發問題等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。
目錄大綱
目 錄
第1章 並發—高級概述 1
1.1 技術要求 1
1.2 並發和並行 1
1.3 共享內存與消息傳遞 8
1.3.1 共享內存 8
1.3.2 消息傳遞 10
1.4 原子性、競爭、死鎖和飢餓 11
1.4.1 競爭 11
1.4.2 原子性 13
1.4.3 死鎖 15
1.4.4 飢餓 17
1.5 程序的屬性 20
1.6 小結 21
1.7 思考題 22
1.8 延伸閱讀 22
第2章 Go並發原語 23
2.1 技術要求 23
2.2 goroutine基礎知識 23
2.2.1 進程 23
2.2.2 線程 24
2.2.3 調度程序 24
2.2.4 goroutine 24
2.2.5 線程和goroutine之間的區別 25
2.2.6 goroutine的運行研究 25
2.2.7 閉包 28
2.2.8 停止正在運行的goroutine 30
2.2.9 Go運行時管理goroutine的方式 30
2.3 通道和select語句 31
2.3.1 聲明通道 32
2.3.2 發送和接收值 32
2.3.3 通道的初始化和關閉 33
2.3.4 無緩沖通道 35
2.3.5 使用單向通道 37
2.3.6 使用多個goroutine和通道協調工作 37
2.3.7 select語句 39
2.4 互斥體 45
2.5 等待組 50
2.6 條件變量 52
2.7 小結 57
2.8 思考題 57
第3章 Go內存模型 59
3.1 關於內存模型 59
3.2 內存操作之間的happened-before關系 60
3.3 Go並發原語的同步特性 63
3.3.1 包初始化 63
3.3.2 goroutine 64
3.3.3 通道 64
3.3.4 互斥體 66
3.3.5 原子內存操作 67
3.3.6 Map、Once和WaitGroup 68
3.4 小結 69
3.5 延伸閱讀 70
第4章 一些眾所周知的並發問題 71
4.1 技術要求 71
4.2 生產者-消費者問題 71
4.3 哲學家就餐問題 75
4.4 速率限制 80
4.5 小結 87
第5章 工作池和管道 89
5.1 技術要求 89
5.2 工作池 89
5.3 管道、扇出和扇入 95
5.3.1 簡單管道示例 95
5.3.2 同步管道 97
5.3.3 異步管道 98
5.3.4 扇出/扇入 100
5.3.5 有序扇入 105
5.4 小結 109
5.5 思考題 110
第6章 錯誤和恐慌處理 111
6.1 錯誤處理機制 111
6.1.1 常見錯誤處理模式 112
6.1.2 常見錯誤處理模式的變體 115
6.1.3 管道 117
6.1.4 服務器 117
6.2 恐慌 118
6.3 小結 121
第7章 Timer和Ticker 123
7.1 技術要求 123
7.2 Timer—稍後運行一些東西 123
7.3 Ticker—定期運行一些東西 126
7.4 心跳 128
7.5 小結 130
第8章 並發處理請求 131
8.1 技術要求 131
8.2 上下文、取消和超時 131
8.2.1 上下文 132
8.2.2 取消 132
8.2.3 超時 134
8.2.4 處理上下文中的值 135
8.3 後端服務 137
8.3.1 構建一個簡單的TCP服務器 137
8.3.2 容器化後端服務 139
8.3.3 構建一個簡單的HTTP服務 140
8.3.4 分配工作和收集結果 142
8.3.5 信號量—限制並發 145
8.4 流傳輸數據 146
8.4.1 構建一個流傳輸應用程序 146
8.4.2 處理多個流 155
8.5 小結 160
第9章 原子內存操作 161
9.1 技術要求 161
9.2 原子內存操作的內存保證 161
9.3 比較和交換操作 163
9.4 原子的實際用途 164
9.4.1 計數器 164
9.4.2 心跳和進度表 165
9.4.3 取消 168
9.4.4 檢測變化 169
9.5 小結 169
第10章 解決並發問題 171
10.1 技術要求 171
10.2 解讀堆棧跟蹤信息 171
10.2.1 哲學家進餐程序的死鎖問題 171
10.2.2 鏈表指針問題 174
10.3 檢測故障並修復 176
10.3.1 正確認識失敗 177
10.3.2 找出失敗的原因 177
10.3.3 嘗試從失敗中恢復 182
10.4 調試異常 183
10.5 小結 185
10.6 延伸閱讀 185



