中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了

包郵 深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了

出版社:電子工業(yè)出版社出版時間:2023-11-01
開本: 16開 頁數(shù): 416
中 圖 價:¥102.7(6.5折) 定價  ¥158.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了 版權(quán)信息

深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了 本書特色

● 全面。本書詳細(xì)介紹了Go標(biāo)準(zhǔn)庫中的每一個同步原語,并且補(bǔ)充介紹了Go官方擴(kuò)展庫的同步原語,以及很多第三方的并發(fā)庫。本書還全面介紹了基于etcd的分布式同步原語,讀者在開發(fā)分布式程序的時候它很有參考價值。本書還梳理了Go并發(fā)模式,讀者可以系統(tǒng)性地了解采用并發(fā)模式要解決的問題。 ● 由淺入深。每個同步原語一開始都會介紹其使用場景和基本的使用方法,很多同步原語都會介紹其實現(xiàn),讀者可以深入了解同步原語背后的原理。書中有作者多年開發(fā)經(jīng)驗的總結(jié)和梳理,讓讀者少走彎路。 ● 實戰(zhàn)。書中包含大量的示例,獨創(chuàng)性地梳理了同步原語使用陷阱,還專門列出了知名項目如Kubernetes、Docker、gRPC等項目中出現(xiàn)的并發(fā)錯誤,讓讀者切身感受到知名項目的有經(jīng)驗的Go程序員也會犯的錯。 ● 獨立。各章之間沒有依賴性,每一章都是獨立的,讀者可以從任意一章開始進(jìn)行學(xué)習(xí)。正如“極客時間”的一位讀者所說,課程需要反復(fù)學(xué)幾遍才能理解透,所以希望讀者也能勤翻一翻本書,多學(xué)習(xí)幾遍,把相關(guān)知識掌握透徹。 晁岳攀老師是國內(nèi)公認(rèn)的Go語言大師,他對Go語言的研究和貢獻(xiàn)深得開發(fā)者喜愛。記得在GopherChina大會上,晁老師做的關(guān)于Go并發(fā)編程的分享廣受好評。如今,晁老師將他對Go并發(fā)編程的獨到見解融入本書中,令人萬分期待!雖然并發(fā)編程是一個極具挑戰(zhàn)性的領(lǐng)域,但晁老師以他一貫的通俗易懂的風(fēng)格闡釋復(fù)雜的并發(fā)概念,讓讀者在輕松愉悅中掌握Go語言強(qiáng)大的并發(fā)能力。本書將成為Go語言并發(fā)編程的經(jīng)典入門讀物。 ——謝孟軍(Astaxie),積夢智能CEO,GopherChina發(fā)起人 本書以圖文并茂的方式講解Go語言并發(fā)編程,讓讀者能夠真正看得懂、學(xué)得會、用得好。鳥窩大佬的不少文章皆通俗易懂,該書亦是如此。 ——徐新華(polarisxu),Go語言中文網(wǎng)站長 鳥窩老師的這本書是目前Go領(lǐng)域講并發(fā)頗為深入的材料,幾乎覆蓋了所有Go語言的并發(fā)原語原理和使用指南。如果大家想要用Go來深入了解并發(fā)知識,有這本書就夠了。 ——曹春暉(Xargin),資深Gopher 這是一本非常具有指導(dǎo)性的書,旨在幫助讀者從根本上理解并發(fā),并逐步學(xué)習(xí)并發(fā)編程。從第1章開始,本書就通過風(fēng)趣的案例解釋了并發(fā)的概念,內(nèi)容簡單易懂。特別是“鳥窩客棧”這個案例給我留下了深刻的印象。 ——楊文,Go夜讀創(chuàng)始人 鳥窩老師在本書中深入淺出地剖析了Go語言的并發(fā)編程,內(nèi)容豐富,案例翔實,是學(xué)習(xí)Go并發(fā)編程的好讀物。對Go語言感興趣的讀者,一定不能錯過這本優(yōu)秀的書。 ——白明(Tony Bai),《Go語言精進(jìn)之路》作者,tonybai.com博主 Go語言入門容易,精通難,尤其是并發(fā)部分!對于希望深入學(xué)習(xí)Go并發(fā)的開發(fā)者來說,這本書可以讓你深入理解Go并發(fā)易用性背后的實現(xiàn)原理。 ——萬俊峰,go-zero微服務(wù)框架作者,資深Gopher和Go語言布道師

深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了 內(nèi)容簡介

本書分為四大部分。第1部分包括第1~13章,主要介紹Go標(biāo)準(zhǔn)庫的同步原語,包括互斥鎖Mutex、讀寫鎖RWMutex、WaitGroup、條件變量Cond、Once、Map、Pool、Context、channel等,以及近期新的原子操作知識,其中重點介紹了channel,*后還介紹了Go的內(nèi)存模 型。第2部分包括第14~18章,主要介紹Go官方的擴(kuò)展庫和第三方的同步原語,包括信號量、SingleFlight、CyclicBarrier、分組操作庫、限流庫等。第3部分包括第19章,主要介紹基于etcd的分布式同步(并發(fā))原語。第4部分包括第20章和第21章,主要歸納總結(jié)Go的并發(fā)模式,并嘗試使用本書介紹的同步原語解決經(jīng)典的并發(fā)問題。
本書主要面向的是已經(jīng)具有Go軟件編程開發(fā)經(jīng)驗的工程師、基礎(chǔ)架構(gòu)軟件開發(fā)工程師和架構(gòu)師,需要初步和深入了解Go并發(fā)編程的相關(guān)知識,設(shè)計和實現(xiàn)高并發(fā)的基礎(chǔ)軟件與分布式系統(tǒng)的專業(yè)人員,以及對Go并發(fā)感興趣的讀者。

深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了 目錄

第1章 Go并發(fā)編程和調(diào)度器
1.1 Go特別適合并發(fā)編程
1.2 并發(fā) vs 并行
1.3 阿姆達(dá)爾定律:并發(fā)編程優(yōu)化是有上限的
1.4 Go并發(fā)并不一定*快
1.5 Go運(yùn)行時調(diào)度器

第2章 互斥鎖 Mutex
2.1 競爭條件與數(shù)據(jù)競爭
2.2 Mutex的用法
2.2.1 一個并發(fā)問題
2.2.2 Mutex的使用
2.2.3 地道的用法
2.3 檢查程序中的數(shù)據(jù)競爭
2.4 Mutex的歷史實現(xiàn)
2.4.1 初始版本
2.4.2 多給新的 goroutine 一些機(jī)會
2.4.3 多給競爭者一些機(jī)會
2.4.4 解決饑餓問題
2.4.5 TryLock
2.5 Mutex的使用陷阱
2.5.1 誤寫
2.5.2 死鎖
2.5.3 鎖重入
2.5.4 復(fù)制鎖
2.6 Mutex的擴(kuò)展
2.6.1 可重入鎖
2.6.2 支持并發(fā) map
2.6.3 封裝值

第3章 讀寫鎖 RWMutex
3.1 讀寫鎖的使用場景
3.2 讀寫鎖的使用方法
3.3 讀寫鎖的實現(xiàn)
3.3.1 RLock的實現(xiàn)
3.3.2 RUnlock的實現(xiàn)
3.3.3 Lock的實現(xiàn)
3.3.4 Unlock的實現(xiàn)
3.3.5 TryLock的實現(xiàn)
3.3.6 TryRLock的實現(xiàn)
3.4 讀寫鎖的使用陷阱
3.4.1 鎖重入
3.4.2 死鎖
3.4.3 發(fā)現(xiàn)死鎖
3.5 讀寫鎖的擴(kuò)展

第4章 任務(wù)編排好幫手 WaitGroup
4.1 WaitGroup的使用方法
4.2 WaitGroup的實現(xiàn)
4.3 WaitGroup的使用陷阱
4.3.1 Add 方法調(diào)用的時機(jī)不對
4.3.2 計數(shù)器的值為負(fù)數(shù)
4.3.3 錯誤的調(diào)用 Add的時機(jī)
4.3.4 知名項目中關(guān)于 WaitGroup 使用的 bug
4.4 WaitGroup的擴(kuò)展
4.5 noCopy:輔助 vet 檢查

第5章 條件變量 Cond
5.1 Cond的使用方法
5.2 Cond的實現(xiàn)
5.3 Cond的使用陷阱
5.3.1 調(diào)用 Wait 時沒有加鎖
5.3.2 喚醒之后不檢查判斷條件
5.4 在實際項目中使用 Cond的例子

第6章 單例化利器 Once
6.1 Once的使用方法
6.2 Once的實現(xiàn)
6.3 Once的使用陷阱
6.3.1 死鎖
6.3.2 未初始化

第7章 并發(fā) map
7.1 線程安全的 map
7.1.1 使用 map的兩種常見錯誤
7.1.2 加讀寫鎖:擴(kuò)展 map,支持并發(fā)讀/寫
7.2 sync.Map的使用方法
7.3 sync.Map的實現(xiàn)
7.3.1 Swap 方法
7.3.2 Load 方法
7.3.3 Delete 方法
7.4 分片加鎖:更高效的并發(fā)map
7.5 lock-free map

第8章 池 Pool
8.1 sync.Pool的使用方法
8.2 sync.Pool的實現(xiàn)
8.2.1 Get 方法的實現(xiàn)
8.2.2 Put 方法的實現(xiàn)
8.3 sync.Pool的使用陷阱
8.4 連接池
8.4.1 標(biāo)準(zhǔn)庫中的 HTTP Client 池
8.4.2 數(shù)據(jù)庫連接池
8.4.3 TCP 連 接池
8.4.4 Memcached Client 連接池
8.4.5 net/rpc 中的 Request/Response 對象池
8.5 goroutine/worker 池

第9章 不止是上下文:Context
9.1 Context的發(fā)展歷史
9.2 Context的使用方法
9.2.1 基本用法
9.2.2 傳遞上下文
9.2.3 可撤銷的上下文
9.2.4 帶超時功能的上下文
9.3 Context 實戰(zhàn)
9.4 Context的使用陷阱
9.5 Context的實現(xiàn)
9.5.1 WithValue的實現(xiàn)
9.5.2 WithCancel的實現(xiàn)
9.5.3 WithDeadline的實現(xiàn)

第10章 原子操作
10.1 原子操作的基礎(chǔ)知識
10.2 原子操作的使用場景
10.3 atomic 提供的函數(shù)和類型
10.3.1 AddXXX 函數(shù)
10.3.2 CompareAndSwapXXX 函數(shù)
10.3.3 SwapXXX 函數(shù)
10.3.4 LoadXXX 函數(shù)
10.3.5 StoreXXX 函數(shù)
10.3.6 Value 類型
10.3.7 Bool、Int32、Int64、Pointer、Uint32、Uint64、Uintptr
10.4 uber-go/atomic 庫
10.5 lock-free 隊列的實現(xiàn)
10.6 原子性和可見性

第11章 channel 基礎(chǔ):另辟蹊徑解決并發(fā)問題
11.1 channel的歷史
11.2 channel的應(yīng)用場景
11.3 channel的基本用法
11.4 channel的實現(xiàn)
11.4.1 channel的數(shù)據(jù)結(jié)構(gòu)
11.4.2 初始化
11.4.3 發(fā)送數(shù)據(jù)
11.4.4 接收數(shù)據(jù)
11.4.5 關(guān)閉 channel
11.5 channel的使用陷阱 / 224
11.5.1 panic 和 goroutine 泄漏
11.5.2 知名項目踩過的坑

第12章 channel的內(nèi)部實現(xiàn)和陷阱
12.1 使用反射操作 select 和 channel
12.2 channel的應(yīng)用場景


第13章 Go內(nèi)存模型
13.1 指令重排和可見性的問題
13.2 sequenced before、synchronized before 和 happens before
13.3 各種同步原語的同步保證
13.3.1 初始化
13.3.2 goroutine的運(yùn)行
13.3.3 channel
13.3.4 鎖(Mutex 和 RWMutex)
13.3.5 Once
13.3.6 WaitGroup
13.3.7 atomic操作
13.3.8 Finalizer、sync.Cond、sync.Map 和 sync.Pool
13.4 不正確的同步

第14章 信號量 Semaphore
14.1 什么是信號量
14.1.1 P/V 操作
14.1.2 信號量和互斥鎖的區(qū)別與聯(lián)系
14.2 信號量的 channel 實現(xiàn)
14.3 Go官方的信號量實現(xiàn)
14.4 使用信號量的常見錯誤

第15章 緩解壓力利器 SingleFlight
15.1 SingleFlight的實現(xiàn)
15.2 SingleFlight的使用場景

第16章 循環(huán)屏障 CyclicBarrier
16.1 CyclicBarrier的使用場景
16.2 CyclicBarrier的實現(xiàn)
16.3 使用 CyclicBarrier的例子

第17章 分組操作
17.1 ErrGroup
17.1.1 ErrGroup的基本用法
17.1.2 ErrGroup 使用示例
17.2 其他實用的 Group 同步原語
17.2.1 SizedGroup/ErrSizedGroup
17.2.2 gollback
17.2.3 Hunch
17.2.4 schedgroup

第18章 限流
18.1 基于令牌桶實現(xiàn)的限流庫
18.1.1 x/time/rate
18.1.2 juju/ratelimit
18.2 基于漏桶實現(xiàn)的限流庫
18.3 分布式限流

第19章 Go并發(fā)編程和調(diào)度器
19.1 Leader 選舉
19.1.1 選舉
19.1.2 查詢
19.1.3 監(jiān)控
19.2 鎖 Locker
19.3 互斥鎖 Mutex
19.4 讀寫鎖 RWMutex
19.5 分布式隊列和優(yōu)先級隊列
19.6 分布式屏障
19.7 計數(shù)型屏障
19.8 軟件事務(wù)內(nèi)存

第20章 并發(fā)模式
20.1 并發(fā)模式概述
20.2 半異步/半同步模式
20.3 活動對象模式
20.4 斷路器模式
20.5 截止時間和超時模式
20.6 回避模式
20.7 雙重檢查模式
20.8 保護(hù)式掛起模式
20.9 核反應(yīng)模式
20.10 調(diào)度器模式
20.11 反應(yīng)器模式
20.12 Proactor模式
20.13 percpu模式
20.14 多進(jìn)程模式

第21章 經(jīng)典并發(fā)問題解析
21.1 哲學(xué)家就餐問題
21.1.1 模擬哲學(xué)家就餐問題
21.1.2 解法一:限制就餐人數(shù)
21.1.3 解法二:奇偶處理方法
21.1.4 解法三:資源分級
21.1.5 解法四:引入服務(wù)生
21.2 理發(fā)師問題
21.2.1 使用 sync.Cond 解決理發(fā)師問題
21.2.2 使用 channel 實現(xiàn)信號量
21.2.3 有多個理發(fā)師的情況
21.3 水工廠問題
21.4 fizz buzz 問題
21.4.1 將并發(fā)轉(zhuǎn)為串行
21.4.2 使用同一個channel
21.4.3 使用CyclicBarrier
展開全部

深入理解Go并發(fā)編程 從原理到實踐,看這本就夠了 作者簡介

晁岳攀(@鳥窩),rpcx微服務(wù)框架作者,Go語言布道師,技術(shù)專欄作家。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 污水处理设备-海普欧环保集团有限公司 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 搪瓷反应釜厂家,淄博搪瓷反应釜-淄博卓耀 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 远程会诊系统-手术示教系统【林之硕】医院远程医疗平台 | 济南铝方通-济南铝方通价格-济南方通厂家-山东鲁方通建材有限公司 | 番茄畅听邀请码怎么输入 - Dianw8.com | 合肥风管加工厂-安徽螺旋/不锈钢风管-通风管道加工厂家-安徽风之范 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 软启动器-上海能曼电气有限公司 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 气动绞车,山东气动绞车,气动绞车厂家-烟台博海石油机械有限公司 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | ZHZ8耐压测试仪-上海胜绪电气有限公司 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 碳刷_刷握_集电环_恒压簧_电刷厂家-上海丹臻机电科技有限公司 |