最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語(yǔ)言中關(guān)閉帶緩沖區(qū)的頻道實(shí)例分析

 更新時(shí)間:2015年02月26日 16:05:18   作者:不是JS  
這篇文章主要介紹了Go語(yǔ)言中關(guān)閉帶緩沖區(qū)的頻道,實(shí)例分析了帶緩沖區(qū)頻道的原理與用法,以及關(guān)閉帶緩沖區(qū)頻道的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例分析了Go語(yǔ)言中關(guān)閉帶緩沖區(qū)的頻道。分享給大家供大家參考。具體分析如下:

Go語(yǔ)言提供了兩種頻道,帶緩沖區(qū)和不帶緩沖區(qū)的。不帶緩沖區(qū)的頻道,發(fā)送和接收是同步的,必須接收端接收了消息,發(fā)送端才能從發(fā)送調(diào)用中解脫。帶緩沖區(qū)的頻道,在緩沖區(qū)滿(mǎn)之前,發(fā)送和接收是異步的,發(fā)送端的發(fā)送操作只保證把消息放入緩沖區(qū)。

Go的頻道是可以關(guān)閉的,關(guān)閉頻道的目的是讓接收端知道不會(huì)再有消息從這個(gè)頻道進(jìn)入,我們可能會(huì)用某個(gè)頻道的關(guān)閉來(lái)表示某種狀態(tài)的終結(jié)。

當(dāng)我們關(guān)閉一個(gè)帶緩沖區(qū)的頻道時(shí),如果緩沖區(qū)中還有消息,接收端是會(huì)繼續(xù)接收完剩余消息呢?還是直接就丟棄剩余消息呢?下面是我做的一個(gè)試驗(yàn)代碼:

復(fù)制代碼 代碼如下:
package main
import "fmt"
func main() {
    input := make(chan int, 10)
    wait  := make(chan int)
    for i := 0; i < 10; i ++ {
        input <- i
    }
    close(input)
    go func() {
        for {
            if i, ok := <- input; ok {
                fmt.Println(i)
            } else {
                break
            }
        }
        wait <- 1
    }()
    <-wait
}

希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Go?runtime?調(diào)度器之系統(tǒng)調(diào)用引起的搶占

    Go?runtime?調(diào)度器之系統(tǒng)調(diào)用引起的搶占

    本文解析了在Go語(yǔ)言中,當(dāng)goroutine執(zhí)行的系統(tǒng)調(diào)用時(shí)間過(guò)長(zhǎng)時(shí),系統(tǒng)如何通過(guò)監(jiān)控和搶占機(jī)制來(lái)處理,以維持運(yùn)行效率和資源分配的平衡,通過(guò)具體的示例和流程圖,詳細(xì)展示了系統(tǒng)調(diào)用過(guò)程中的搶占操作,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Golang中println和fmt.Println區(qū)別解析

    Golang中println和fmt.Println區(qū)別解析

    Golang 中打印數(shù)據(jù)通常使用 fmt.Println() 方法,也可以使用內(nèi)置的 println() 方法。這兩個(gè)方法大家可能都使用過(guò),它們的區(qū)別是什么呢?本文給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧
    2023-03-03
  • go語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單http服務(wù)的方法

    go語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單http服務(wù)的方法

    這篇文章主要介紹了go語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單http服務(wù)的方法,涉及Go語(yǔ)言http操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 淺析Go語(yǔ)言中的逃逸分析

    淺析Go語(yǔ)言中的逃逸分析

    逃逸分析算是go語(yǔ)言的特色之一,所以這篇文章小編就來(lái)和大家聊聊為什么不應(yīng)該過(guò)度關(guān)注go語(yǔ)言的逃逸分析,感興趣的小伙伴可以跟隨小編一起了解一下
    2024-10-10
  • 為什么Go語(yǔ)言把類(lèi)型聲明放在后面?

    為什么Go語(yǔ)言把類(lèi)型聲明放在后面?

    今天小編就為大家分享一篇關(guān)于為什么Go語(yǔ)言把類(lèi)型聲明放在后面?,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • Go?http請(qǐng)求排隊(duì)處理實(shí)戰(zhàn)示例

    Go?http請(qǐng)求排隊(duì)處理實(shí)戰(zhàn)示例

    這篇文章主要為大家介紹了Go?http請(qǐng)求排隊(duì)處理實(shí)戰(zhàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Go語(yǔ)言異常處理(Panic和recovering)用法詳解

    Go語(yǔ)言異常處理(Panic和recovering)用法詳解

    異常處理是程序健壯性的關(guān)鍵,往往開(kāi)發(fā)人員的開(kāi)發(fā)經(jīng)驗(yàn)的多少?gòu)漠惓2糠痔幚砩暇湍艿玫襟w現(xiàn)。Go語(yǔ)言中沒(méi)有Try?Catch?Exception機(jī)制,但是提供了panic-and-recover機(jī)制,本文就來(lái)詳細(xì)講講他們的用法
    2022-07-07
  • Go中如何使用set的方法示例

    Go中如何使用set的方法示例

    這篇文章主要介紹了Go中如何使用set的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • golang?waitgroup輔助并發(fā)控制使用場(chǎng)景和方法解析

    golang?waitgroup輔助并發(fā)控制使用場(chǎng)景和方法解析

    Golang?提供了簡(jiǎn)潔的?go?關(guān)鍵字來(lái)讓開(kāi)發(fā)者更容易的進(jìn)行并發(fā)編程,同時(shí)也提供了?WaitGroup?對(duì)象來(lái)輔助并發(fā)控制,今天我們就來(lái)分析下?WaitGroup?的使用方法,順便瞧一瞧它的底層源碼
    2023-09-09
  • golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)事務(wù)的提交與回滾

    golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)事務(wù)的提交與回滾

    這篇文章主要介紹了golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)事務(wù)的提交與回滾,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04

最新評(píng)論

会东县| 安康市| 涪陵区| 仙居县| 景德镇市| 浠水县| 徐水县| 沈丘县| 沛县| 绍兴县| 新田县| 罗源县| 郎溪县| 辉南县| 富宁县| 金华市| 泾阳县| 石阡县| SHOW| 绥德县| 涞水县| 余干县| 崇信县| 江陵县| 上杭县| 宣威市| 常德市| 西盟| 永嘉县| 崇信县| 绥棱县| 天门市| 曲周县| 修水县| 嫩江县| 来凤县| 扶绥县| 恩施市| 奉节县| 子长县| 大连市|