資料介紹
channel是Golang在語言層面提供的goroutine間的通信方式,比Unix管道更易用也更輕便。channel主要用于進程內(nèi)各goroutine間通信,如果需要跨進程通信,建議使用分布式系統(tǒng)的方法來解決。本章從源碼角度分析channel的實現(xiàn)機制,實際上這部分源碼非常簡單易讀。
從數(shù)據(jù)結(jié)構(gòu)可以看出channel由隊列、類型信息、goroutine等待隊列組成,下面分別說明其原理。
chan內(nèi)部實現(xiàn)了一個環(huán)形隊列作為其緩沖區(qū),隊列的長度是創(chuàng)建chan時指定的。下圖展示了一個可緩存6個元素的channel示意圖:
dataqsiz指示了隊列長度為6,即可緩存6個元素; buf指向隊列的內(nèi)存,隊列中還剩余兩個元素; qcount表示隊列中還有兩個元素; sendx指示后續(xù)寫入的數(shù)據(jù)存儲的位置,取值[0, 6); recvx指示從該位置讀取數(shù)據(jù), 取值[0, 6);
《Go專家編程》深入地講解了Go語言常見特性的內(nèi)部機制和實現(xiàn)方式,大部分內(nèi)容源自對Go語言源碼的分析,并從中提煉出實現(xiàn)原理。通過閱讀本書,讀者可以快速、輕松地了解Go語言的內(nèi)部運作機制。
本書首先介紹Go語言常見的數(shù)據(jù)結(jié)構(gòu)及控制結(jié)構(gòu)的實現(xiàn)原理,包括管道、切片、Hash表、select和for-range等,這部分內(nèi)容大都以幾個精心準備的測驗題目開頭,每個測驗題目均對應(yīng)一個知識點,讀者可以借此測驗自身對該知識點的掌握程度。接著介紹了Go語言最基礎(chǔ)的概念,包括協(xié)程的概念、協(xié)程調(diào)度模型、協(xié)程調(diào)度策略,以及內(nèi)存分配和垃圾回收相關(guān)的內(nèi)容。本書還介紹了一些標準庫、異常處理和依賴管理等非語法相關(guān)但非常重要的內(nèi)容。最后結(jié)合作者的見聞,整理了一些發(fā)生在真實項目中的編程陷阱。
- 圖解數(shù)字磁帶錄音機的PDF電子書免費下載 99次下載
- 現(xiàn)代無線電實驗的PDF電子書免費下載 250次下載
- 半導(dǎo)體收音機淺談的PDF電子書免費下載 162次下載
- 光學(xué)諧振腔的圖解分析與設(shè)計方法的PDF電子書免費下載 123次下載
- MATLAB函數(shù)速查手冊PDF電子書免費下載 148次下載
- 電子管數(shù)據(jù)手冊合集PDF電子書免費下載 72次下載
- 寫給文科生看的編程入門Python管窺PDF電子書免費下載 6次下載
- 8051系列單片機C程序設(shè)計完全手冊PDF電子書免費下載 263次下載
- 51單片機100實例源碼的注釋詳細PDF電子書免費下載 213次下載
- 全國大學(xué)生電子設(shè)計競賽的常用電路模塊制作PDF電子書免費下載 0次下載
- 電冰箱快速維修PDF電子書免費下載 43次下載
- 家電維修1128例PDF電子書免費下載 186次下載
- STM8 C語言精品編程100例PDF版電子書免費下載 0次下載
- 數(shù)字信號處理算法C語言實現(xiàn)PDF版電子書免費下載 0次下載
- 《Visual C++游戲編程基礎(chǔ)》電子書.pdf 0次下載
- Go編程語言-你應(yīng)該知道的一切 484次閱讀
- 電子書閱讀器內(nèi)置鋰電池供電自動切換電路 1604次閱讀
- go項目怎么讓docker鏡像體積減小 1093次閱讀
- Go并發(fā)模型的實現(xiàn)原理 1259次閱讀
- Go 1.18 正式發(fā)布后有哪些特性 2982次閱讀
- 手機熱點可以替代寬帶長期使用嗎? 4106次閱讀
- Rust相比Go的優(yōu)劣勢 3872次閱讀
- GO語言簡介!GO是理想的編程語言嗎? 4260次閱讀
- 機器學(xué)習入門寶典《統(tǒng)計學(xué)習方法》的介紹 4488次閱讀
- Go語言在多線程領(lǐng)域編程、跨異構(gòu)平臺及編程難易程度的優(yōu)勢 6139次閱讀
- Go和Python,Erlang的語言對比分析和Go編程示例概述 7583次閱讀
- 我們在使用Go語言編程之前有什么呢?為什么選擇Go語言編程? 3929次閱讀
- 網(wǎng)易有道CEO周楓推薦Go語言并介紹Go語言的3個優(yōu)點 5096次閱讀
- 最新電子書拆解評測系列報道(一):打開你的眼界 1.2w次閱讀
- AUTOCAD2009免費下載中文版 CAD2009簡體中文下載及安裝方法 1.2w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1497次下載 | 免費
- 2TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 3單片機典型實例介紹
- 18.19 MB | 103次下載 | 1 積分
- 4S7-200PLC編程實例詳細資料
- 1.17 MB | 28次下載 | 1 積分
- 5筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 6開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 15次下載 | 免費
- 79天練會電子電路識圖
- 5.91 MB | 6次下載 | 免費
- 8100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234314次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 6接口電路圖大全
- 未知 | 30321次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21540次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537794次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234314次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多