Go語言中的高效并發(fā)技術(shù)
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
Go語言中的高效并發(fā)技術(shù) 版權(quán)信息
- ISBN:9787302659747
- 條形碼:9787302659747 ; 978-7-302-65974-7
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Go語言中的高效并發(fā)技術(shù) 本書特色
一旦完成了本書中提供的所有示例,就會對使用并發(fā)解決問題更有信心。每個人都在抱怨并發(fā)很難,但是,正確使用語言將使開發(fā)人員可以更輕松地生成正確的程序。你應(yīng)該永遠(yuǎn)記住的經(jīng)驗(yàn)法則是:正確性優(yōu)先于性能。因此,我們首先要讓它正常工作,然后才能讓它更快地工作。
Go語言中的高效并發(fā)技術(shù) 內(nèi)容簡介
《Go語言中的高效并技術(shù)》詳細(xì)闡述了與Go語言并發(fā)技術(shù)相關(guān)的基本知識,主要包括并發(fā)—高級概述、Go并發(fā)原語、Go內(nèi)存模型、一些眾所周知的并發(fā)問題、工作池和管道、錯誤和恐慌處理、Timer和Ticker、并發(fā)處理請求、原子內(nèi)存操作、解決并發(fā)問題等內(nèi)容。此外,本書還提供了相應(yīng)的示例、代碼,以幫助讀者進(jìn)一步理解相關(guān)方案的實(shí)現(xiàn)過程。 本書適合作為高等院校計算機(jī)及相關(guān)專業(yè)的教材和教學(xué)參考書,也可作為相關(guān)開發(fā)人員的自學(xué)用書和參考手冊。
Go語言中的高效并發(fā)技術(shù) 目錄
1.1 技術(shù)要求 1
1.2 并發(fā)和并行 1
1.3 共享內(nèi)存與消息傳遞 8
1.3.1 共享內(nèi)存 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 小結(jié) 21
1.7 思考題 22
1.8 延伸閱讀 22
第2章 Go并發(fā)原語 23
2.1 技術(shù)要求 23
2.2 goroutine基礎(chǔ)知識 23
2.2.1 進(jìn)程 23
2.2.2 線程 24
2.2.3 調(diào)度程序 24
2.2.4 goroutine 24
2.2.5 線程和goroutine之間的區(qū)別 25
2.2.6 goroutine的運(yùn)行研究 25
2.2.7 閉包 28
2.2.8 停止正在運(yùn)行的goroutine 30
2.2.9 Go運(yùn)行時管理goroutine的方式 30
2.3 通道和select語句 31
2.3.1 聲明通道 32
2.3.2 發(fā)送和接收值 32
2.3.3 通道的初始化和關(guān)閉 33
2.3.4 無緩沖通道 35
2.3.5 使用單向通道 37
2.3.6 使用多個goroutine和通道協(xié)調(diào)工作 37
2.3.7 select語句 39
2.4 互斥體 45
2.5 等待組 50
2.6 條件變量 52
2.7 小結(jié) 57
2.8 思考題 57
第3章 Go內(nèi)存模型 59
3.1 關(guān)于內(nèi)存模型 59
3.2 內(nèi)存操作之間的happened-before關(guān)系 60
3.3 Go并發(fā)原語的同步特性 63
3.3.1 包初始化 63
3.3.2 goroutine 64
3.3.3 通道 64
3.3.4 互斥體 66
3.3.5 原子內(nèi)存操作 67
3.3.6 Map、Once和WaitGroup 68
3.4 小結(jié) 69
3.5 延伸閱讀 70
第4章 一些眾所周知的并發(fā)問題 71
4.1 技術(shù)要求 71
4.2 生產(chǎn)者-消費(fèi)者問題 71
4.3 哲學(xué)家就餐問題 75
4.4 速率限制 80
4.5 小結(jié) 87
第5章 工作池和管道 89
5.1 技術(shù)要求 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 小結(jié) 109
5.5 思考題 110
第6章 錯誤和恐慌處理 111
6.1 錯誤處理機(jī)制 111
6.1.1 常見錯誤處理模式 112
6.1.2 常見錯誤處理模式的變體 115
6.1.3 管道 117
6.1.4 服務(wù)器 117
6.2 恐慌 118
6.3 小結(jié) 121
第7章 Timer和Ticker 123
7.1 技術(shù)要求 123
7.2 Timer—稍后運(yùn)行一些東西 123
7.3 Ticker—定期運(yùn)行一些東西 126
7.4 心跳 128
7.5 小結(jié) 130
第8章 并發(fā)處理請求 131
8.1 技術(shù)要求 131
8.2 上下文、取消和超時 131
8.2.1 上下文 132
8.2.2 取消 132
8.2.3 超時 134
8.2.4 處理上下文中的值 135
8.3 后端服務(wù) 137
8.3.1 構(gòu)建一個簡單的TCP服務(wù)器 137
8.3.2 容器化后端服務(wù) 139
8.3.3 構(gòu)建一個簡單的HTTP服務(wù) 140
8.3.4 分配工作和收集結(jié)果 142
8.3.5 信號量—限制并發(fā) 145
8.4 流傳輸數(shù)據(jù) 146
8.4.1 構(gòu)建一個流傳輸應(yīng)用程序 146
8.4.2 處理多個流 155
8.5 小結(jié) 160
第9章 原子內(nèi)存操作 161
9.1 技術(shù)要求 161
9.2 原子內(nèi)存操作的內(nèi)存保證 161
9.3 比較和交換操作 163
9.4 原子的實(shí)際用途 164
9.4.1 計數(shù)器 164
9.4.2 心跳和進(jìn)度表 165
9.4.3 取消 168
9.4.4 檢測變化 169
9.5 小結(jié) 169
第10章 解決并發(fā)問題 171
10.1 技術(shù)要求 171
10.2 解讀堆棧跟蹤信息 171
10.2.1 哲學(xué)家進(jìn)餐程序的死鎖問題 171
10.2.2 鏈表指針問題 174
10.3 檢測故障并修復(fù) 176
10.3.1 正確認(rèn)識失敗 177
10.3.2 找出失敗的原因 177
10.3.3 嘗試從失敗中恢復(fù) 182
10.4 調(diào)試異常 183
10.5 小結(jié) 185
10.6 延伸閱讀 185
Go語言中的高效并發(fā)技術(shù) 作者簡介
Burak Serdar是一位軟件工程師,在設(shè)計和開發(fā)可擴(kuò)展的分布式企業(yè)應(yīng)用程序方面擁有 30多年的經(jīng)驗(yàn)。他曾在多家初創(chuàng)公司和大型公司(包括Thomson和Red Hat)擔(dān)任工程師和技術(shù)主管。他是Cloud Privacy Labs的聯(lián)合創(chuàng)始人之一,致力于中心式和去中心化系統(tǒng)的語義互操作性和隱私技術(shù)。Burak擁有電氣和電子工程學(xué)士學(xué)位和碩士學(xué)位,以及計算機(jī)科學(xué)碩士學(xué)位。
- >
伯納黛特,你要去哪(2021新版)
- >
史學(xué)評論
- >
小考拉的故事-套裝共3冊
- >
名家?guī)阕x魯迅:故事新編
- >
龍榆生:詞曲概論/大家小書
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
大紅狗在馬戲團(tuán)-大紅狗克里弗-助人
- >
名家?guī)阕x魯迅:朝花夕拾