91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

义乌市| 错那县| 临沧市| 古交市| 百色市| 威宁| 治多县| 沙湾县| 平罗县| 广昌县| 龙海市| 通辽市| 汉阴县| 浦北县| 平山县| 吴川市| 三原县| 汪清县| 广宁县| 汶川县| 勃利县| 茶陵县| 思茅市| 兴文县| 仲巴县| 边坝县| 永善县| 大化| 阿坝| 民丰县| 江永县| 公安县| 凤台县| 山东| 绥阳县| 商水县| 和顺县| 历史| 永春县| 体育| 南汇区|