特價

C的快速+Python的易學:Go語言全功能開發養成書

原始價格:US$53.86。目前價格:US$48.42。

【作者: 晁岳攀(@鳥窩)】
【出版社: 深智數位】
【出版日期: 2024-06-19】
【分類: 電腦資訊 | 程式設計/APP開發】
【裝訂: 平裝】
【印刷: 單色印刷】
【ISBN: 9786267383773】

貨號: 9786267383773 分類:

Description

C的快速+Python的易學:Go語言全功能開發養成書

  本書分為四大部分。

  第1部分包括第1到13章,主要介紹Go標準函式庫的同步基本操作,包括互斥鎖Mutex、讀寫鎖RWMutex、WaitGroup、條件變數Cond、Once、Map、Pool、Context、 channel等,以及最新的原子操作知識,主要的重點在channel身上,最後還介紹了Go的記憶體模型。

  第2部分包括第14到18章,主要介紹Go官方的擴充函式庫和第三方的同步基本操作,包括訊號量、SingleFlight、CyclicBarrier、分組操作庫、限流庫等。

  第3部分包括第19章,主要介紹基於etcd的分散式同步(並發)基本操作。

  第4部分包括第20章和第21章,主要歸納總結Go的並發模式,並嘗試使用本書介紹的同步基本操作解決經典的併發問題。

本書特色

  ☆和C一樣快,和Python一樣好學的新一代程式語言
  ★同步基本操作,互斥鎖Mutex、讀寫鎖RWMutex、WaitGroup
  ☆條件變數Cond、Once、Map、Pool、Context、Channel
  ★原子操作原理及實作
  ☆Go的記憶體模式
  ★Go官方及擴充函式、第三方同步基本操作
  ☆訊號量、SingleFlight、CyclicBarrier、分組操作庫、限流庫
  ★Etcd的分散式同步操作
  ☆Go並發模式的實作
  ★經典Go問題解決目錄第 1 章  分散式併發原語
1.1    Go 特別適合並發程式設計    
1.2    並發 vs 平行
1.3    阿姆達爾定律:並發程式設計最佳化是有上限的
1.4    Go 並發並不一定最快
1.5    Go 執行時期排程器

第 2 章 互斥鎖 Mutex
2.1    競爭條件與資料競爭
2.2    Mutex 的用法
2.3    檢查程式中的資料競爭
2.4    Mutex 的歷史實現
2.5    Mutex 的使用陷阱
2.6    Mutex 的擴充

第 3 章 讀寫鎖 RWMutex
3.1    讀寫鎖的使用場景
3.2    讀寫鎖的使用方法
3.3    讀寫鎖的實現
3.4    讀寫鎖的使用陷阱
3.5    讀寫鎖的擴充

第 4 章 任務編排好幫手 WaitGroup
4.1    WaitGroup 的使用方法
4.2    WaitGroup 的實現
4.3    WaitGroup 的使用陷阱
4.4    WaitGroup 的擴充
4.5    noCopy:輔助 vet 檢查

第 5 章 條件變數 Cond
5.1    Cond 的使用方法
5.2    Cond 的實現
5.3    Cond 的使用陷阱
5.4 在實際專案中使用 Cond 的例子

第 6 章 單實體化利器 Once
6.1    Once 的使用方法
6.2    Once 的實現
6.3    Once 的使用陷阱

第 7 章 並發 map
7.1    內建map類型
7.2    sync.Map 的使用方法    
7.3    sync.Map 的實現
7.4    分片加鎖:更高效的並發 map
7.5    lock-free map

第 8 章  池 Pool
8.1    sync.Pool 的使用方法    
8.2    sync.Pool 的實現
8.3    sync.Pool 的使用陷阱    
8.4 連接池
8.5  goroutine/worker 池

第 9 章 不止是上下文:Context
9.1    Context 的發展歷史
9.2    Context 的使用方法
9.3    Context 實戰
9.4  Context 的使用陷阱
9.5  Context 的實現

第 10 章 原子操作
10.1    原子操作的基礎知識    
10.2    原子操作的使用場景
10.3    atomic 提供的函式和類型    
10.4    uber-go/atomic 函式庫
10.5    lock-free 佇列的實現
10.6    原子性和可見性

第 11 章  channel 基礎:另闢蹊徑解決並發問題
11.1  channel 的歷史
11.2    channel 的應用場景    
11.3    channel 的基本用法    
11.4    channel 的實現
11.5    channel 的使用陷阱

第 12 章  channel 的內部實現和陷阱
12.1    使用反射操作 select 和 channel
12.2    channel 的應用場景

第 13 章 Go 記憶體模型
13.1    指令重排和可見性的問題
13.2    sequenced before、synchronized before 和 happens before
13.3    各種同步基本操作的同步保證
13.4    不正確的同步

第 14 章 訊號量 Semaphore
14.1    什麼是訊號量
14.2    訊號量的 channel 實現
14.3    Go 官方的訊號量實現
14.4    使用訊號量的常見錯誤

第 15 章 緩解壓力利器 SingleFlight
15.1    SingleFlight 的實現
15.2    SingleFlight 的使用場景

第 16 章 循環屏障 CyclicBarrier
16.1    CyclicBarrier 的使用場景
16.2    CyclicBarrier 的實現
16.3    使用 CyclicBarrier 的例子

第 17 章 分組操作
17.1    ErrGroup
17.2    其他實用的Group 同步基本操作

第 18 章 限流
18.1    基於權杖桶實現的限流函式庫
18.2    基於漏桶實現的限流函式庫
18.3    分散式限流
 
第 19 章  分散式併發原語
19.1    Leader 選舉
19.2    鎖 Locker
19.3    互斥鎖 Mutex
19.4    讀寫鎖 RWMutex
19.5    分散式佇列和優先順序佇列
19.6    分散式屏障
19.7    計數型屏障
19.8    軟體事務記憶體

第 20 章 並發模式
20.1    並發模式概述
20.2    半非同步 / 半同步模式
20.3    活動物件模式
20.4    斷路器模式
20.5    截止時間和逾時模式    
20.6    回避模式
20.7    雙重檢查模式
20.8    保護式暫停模式
20.9    核子反應模式
20.10 排程器模式
20.11 反應器模式
20.12 Proactor 模式
20.13 percpu 模式
20.14 多處理程式模式

第 21 章 經典並發問題解析
21.1    哲學家就餐問題
21.2    理髮師問題
21.3    水工廠問題
21.4    fizz buzz 問題
书名简译:C的快速+Python的易学:Go语言全功能开发养成书

目前沒有評價。

搶先評價 “C的快速+Python的易學:Go語言全功能開發養成書”

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *