Go并發(fā)編程實(shí)踐

Go語言最大的特點(diǎn)就是并發(fā)編程憋槐,它實(shí)現(xiàn)了一種基于協(xié)程的并發(fā)模型。輕量級(jí)的協(xié)程模型減少了線程模型的切換消耗淑趾,大大增加了并發(fā)性能阳仔。本書這時(shí)對(duì)Go語言并發(fā)進(jìn)行深入講解的不可多得的好書。

image

書籍目錄

第1章 初識(shí)Go語言 1 
1.1 語言特性 1 
1.2 安裝和設(shè)置 2 
1.3 工程結(jié)構(gòu) 3 
1.3.1 工作區(qū) 3 
1.3.2 GOPATH 4 
1.3.3 源碼文件 5 
1.3.4 代碼包 8 
1.4 標(biāo)準(zhǔn)命令簡(jiǎn)述 11 
1.5 問候程序 13 
1.6 小結(jié) 14 
第2章 語法概覽 15 
2.1 基本構(gòu)成要素 15 
2.1.1 標(biāo)識(shí)符 15 
2.1.2 關(guān)鍵字 16 
2.1.3 字面量 17 
2.1.4 操作符 17 
2.1.5 表達(dá)式 19 
2.2 基本類型 20 
2.3 高級(jí)類型 22 
2.3.1 數(shù)組 23 
2.3.2 切片 23 
2.3.3 字典 24 
2.3.4 函數(shù)和方法 25 
2.3.5 接口 28 
2.3.6 結(jié)構(gòu)體 29 
2.4 流程控制 30 
2.4.1 代碼塊和作用域 30 
2.4.2 if語句 32 
2.4.3 switch語句 32 
2.4.4 for語句 34 
2.4.5 defer語句 36 
2.4.6 panic和recover 38 
2.5 聊天機(jī)器人 40 
2.6 小結(jié) 44 
第3章 并發(fā)編程綜述 45 
3.1 并發(fā)編程基礎(chǔ) 45 
3.1.1 串行程序與并發(fā)程序 46 
3.1.2 并發(fā)程序與并行程序 46 
3.1.3 并發(fā)程序與并發(fā)系統(tǒng) 47 
3.1.4 并發(fā)程序的不確定性 47 
3.1.5 并發(fā)程序內(nèi)部的交互 47 
3.2 多進(jìn)程編程 48 
3.2.1 進(jìn)程 48 
3.2.2 關(guān)于同步 55 
3.2.3 管道 60 
3.2.4 信號(hào) 65 
3.2.5 socket 74 
3.3 多線程編程 97 
3.3.1 線程 98 
3.3.2 線程的同步 107 
3.4 多線程與多進(jìn)程 125 
3.5 多核時(shí)代的并發(fā)編程 126 
3.6 小結(jié) 130 
第4章 Go的并發(fā)機(jī)制 131 
4.1 原理探究 131 
4.1.1 線程實(shí)現(xiàn)模型 132 
4.1.2 調(diào)度器 142 
4.1.3 更多細(xì)節(jié) 158 
4.2 goroutine 160 
4.2.1 go語句與goroutine 160 
4.2.2 主goroutine的運(yùn)作 166 
4.2.3 runtime包與goroutine 166 
4.3 channel 169 
4.3.1 channel的基本概念 169 
4.3.2 單向channel 180 
4.3.3 for語句與channel 184 
4.3.4 select語句 185 
4.3.5 非緩沖的channel 190 
4.3.6 time包與channel 192 
4.4 實(shí)戰(zhàn)演練:載荷發(fā)生器 198 
4.4.1 參數(shù)和結(jié)果 199 
4.4.2 基本結(jié)構(gòu) 201 
4.4.3 初始化 206 
4.4.4 啟動(dòng)和停止 212 
4.4.5 調(diào)用器和功能測(cè)試 221 
4.5 小結(jié) 231 
第5章 同 步 232 
5.1 鎖的使用 232 
5.1.1 互斥鎖 232 
5.1.2 讀寫鎖 236 
5.1.3 鎖的完整示例 238 
5.2 條件變量 244 
5.3 原子操作 247 
5.3.1 增或減 247 
5.3.2 比較并交換 249 
5.3.3 載入 250 
5.3.4 存儲(chǔ) 251 
5.3.5 交換 251 
5.3.6 原子值 252 
5.3.7 應(yīng)用于實(shí)際 256 
5.4 只會(huì)執(zhí)行一次 257 
5.5 WaitGroup 258 
5.6 臨時(shí)對(duì)象池 262 
5.7 實(shí)戰(zhàn)演練——Concurrent Map 265 
5.8 小結(jié) 280 
第6章 網(wǎng)絡(luò)爬蟲框架設(shè)計(jì)和實(shí)現(xiàn) 281 
6.1 網(wǎng)絡(luò)爬蟲與框架 281 
6.2 功能需求和分析 283 
6.3 總體設(shè)計(jì) 284 
6.4 詳細(xì)設(shè)計(jì) 286 
6.4.1 基本數(shù)據(jù)結(jié)構(gòu) 286 
6.4.2 接口的設(shè)計(jì) 293 
6.5 工具的實(shí)現(xiàn) 309 
6.5.1 緩沖器 309 
6.5.2 緩沖池 311 
6.5.3 多重讀取器 317 
6.6 組件的實(shí)現(xiàn) 318 
6.6.1 內(nèi)部基礎(chǔ)接口 319 
6.6.2 組件注冊(cè)器 321 
6.6.3 下載器 323 
6.6.4 分析器 325 
6.6.5 條目處理管道 328 
6.7 調(diào)度器的實(shí)現(xiàn) 329 
6.7.1 基本結(jié)構(gòu) 329 
6.7.2 初始化 331 
6.7.3 啟動(dòng) 333 
6.7.4 停止 343 
6.7.5 其他方法 344 
6.7.6 總結(jié) 345 
6.8 一個(gè)簡(jiǎn)單的圖片爬蟲 346 
6.8.1 概述 346 
6.8.2 命令參數(shù) 346 
6.8.3 初始化調(diào)度器 348 
6.8.4 監(jiān)控調(diào)度器 354 
6.8.5 啟動(dòng)調(diào)度器 364 
6.9 擴(kuò)展與思路 365 
6.10 本章小結(jié) 368 
附錄A Go語言的學(xué)習(xí)資源 369

本號(hào)提供電子書下載:https://u19702000.ctfile.com/fs/19702000-355800537
僅可用于非商業(yè)學(xué)習(xí)扣泊,如有侵權(quán)近范,請(qǐng)聯(lián)系本號(hào)刪除嘶摊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市评矩,隨后出現(xiàn)的幾起案子叶堆,更是在濱河造成了極大的恐慌,老刑警劉巖斥杜,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蹂空,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡果录,警方通過查閱死者的電腦和手機(jī)上枕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弱恒,“玉大人辨萍,你說我怎么就攤上這事》档” “怎么了锈玉?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)义起。 經(jīng)常有香客問我拉背,道長(zhǎng),這世上最難降的妖魔是什么默终? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任椅棺,我火速辦了婚禮,結(jié)果婚禮上齐蔽,老公的妹妹穿的比我還像新娘两疚。我一直安慰自己,他們只是感情好含滴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布诱渤。 她就那樣靜靜地躺著,像睡著了一般谈况。 火紅的嫁衣襯著肌膚如雪勺美。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天碑韵,我揣著相機(jī)與錄音赡茸,去河邊找鬼。 笑死泼诱,一個(gè)胖子當(dāng)著我的面吹牛坛掠,可吹牛的內(nèi)容都是我干的赊锚。 我是一名探鬼主播治筒,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屉栓,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了耸袜?” 一聲冷哼從身側(cè)響起友多,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎堤框,沒想到半個(gè)月后域滥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜈抓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年启绰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沟使。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡委可,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腊嗡,到底是詐尸還是另有隱情着倾,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布燕少,位于F島的核電站卡者,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏客们。R本人自食惡果不足惜崇决,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望底挫。 院中可真熱鬧嗽桩,春花似錦、人聲如沸凄敢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涝缝。三九已至扑庞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拒逮,已是汗流浹背罐氨。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滩援,地道東北人栅隐。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親租悄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谨究,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Go 是年輕而有活力的語言。 它最初于 2007 由 Robert Griesemer, Rob Pike 和 K...
    XiangLi閱讀 685評(píng)論 1 2
  • Go 并發(fā)編程 選擇 Go 編程的原因可能是看中它簡(jiǎn)單且強(qiáng)大泣棋,那么你其實(shí)可以選擇C語言胶哲;除此之外,我看中 Go 的...
    PRE_ZHY閱讀 889評(píng)論 1 6
  • 文/邱璇 我相信輕是重的上升潭辈,濃是淡的積沉鸯屿,喧囂是安靜的永恒。 月光透過窗角沾滿灰塵的罅隙把敢,點(diǎn)點(diǎn)滴漏寄摆,在透明的玻璃...
    傅聰_閱讀 565評(píng)論 0 1
  • (一) 凌晨四時(shí)半,校人齊聚升旗的小廣場(chǎng)修赞。 四時(shí)五十分冰肴,三個(gè)年級(jí)段,三...
    衣上云閱讀 462評(píng)論 0 4
  • 走過千山,走過萬水 遇到過多少人搓扯,多少人曾擦肩而過检痰?向一次性的餐具,再也沒有機(jī)會(huì)相遇锨推。而那些曾感動(dòng)過铅歼,你愛過你的人...
    東方地秀閱讀 262評(píng)論 0 1