亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang中的channel是什么

發布時間:2020-06-21 13:14:38 來源:億速云 閱讀:183 作者:元一 欄目:編程語言

go語言中channel可以理解是一個先進先出的隊列,通過管道進行通信。

CSP 模型:傳統的并發模型主要分為 Actor 模型和 CSP 模型,CSP 模型全稱為 communicating sequential processes,CSP 模型由并發執行實體(進程,線程或協程),和消息通道組成,實體之間通過消息通道發送消息進行通信。和 Actor 模型不同,CSP 模型關注的是消息發送的載體,即通道,而不是發送消息的執行實體。

它的操作符是箭頭 <- 。

ch <- v // 發送值v到Channel ch中

v := <-ch // 從Channel ch中接收數據,并將數據賦值給v

(箭頭的指向就是數據的流向)

可以理解為某種類型的值傳遞的導管,而這種在 channel 中傳遞的類型成為 channle 的 element type 元素類型。

一個使用make創建的,對數據結構的引用,當把 channel 作為參數使用時,實際上是傳引用調用

channel 的零值: nil

channel 可以看成一個 FIFO 隊列,對 FIFO 隊列的讀寫都是原子的操作,不需要加鎖。對 channel 的操作行為結果總結如下:

golang中的channel是什么

讀取一個已關閉的 channel 時,總是能讀取到對應類型的零值,為了和讀取非空未關閉 channel 的行為區別,可以使用兩個接收值:

// ok is false when ch is closedv, ok := <-ch

golang 中大部分類型都是值類型(只有 slice / channel / map 是引用類型),讀/寫類型是值類型的 channel 時,如果元素 size 比較大時,應該使用指針代替,避免頻繁的內存拷貝開銷。

以上就是golang channel有什么好處的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江川县| 政和县| 林甸县| 若羌县| 星子县| 崇左市| 阳春市| 吉林省| 阜宁县| 务川| 兴义市| 茶陵县| 瑞金市| 玉龙| 龙山县| 图们市| 南涧| 绩溪县| 贺兰县| 镇江市| 大厂| 宁城县| 长垣县| 沙湾县| 昌黎县| 芦溪县| 桐城市| 澄迈县| 波密县| 彭阳县| 且末县| 五原县| 唐海县| 宝坻区| 龙里县| 正安县| 柳江县| 塔河县| 阿城市| 开阳县| 进贤县|