欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

goroutine/channel(2)

package main

import "fmt"

func main() {

    dataChan := make(chan int, 5)
    syncChan1 := make(chan struct{}, 1)
    syncChan2 := make(chan struct{}, 2)

    //演示接收操作
    go func() {
        <- syncChan1
        for {
            if elem, ok := <- dataChan; ok {
                fmt.Printf("Received: %d [receiver]\n", elem)
            } else {
                break
            }
        }
        fmt.Println("Done. [receiver]")
        syncChan2 <- struct{}{}
    }()

    //演示發(fā)送操作
    go func() {
        for i := 0; i < 5; i++ {
            dataChan <- i
            fmt.Printf("Sent: %d [sender]\n", i)
        }
        close(dataChan)
        syncChan1 <- struct{}{}
        fmt.Println("Done. [sender]")
        syncChan2 <- struct{}{}
    }()

    <-syncChan2
    <-syncChan2

}

輸出:
Sent: 0 [sender]
Sent: 1 [sender]
Sent: 2 [sender]
Sent: 3 [sender]
Sent: 4 [sender]
Done. [sender]
Received: 0 [receiver]
Received: 1 [receiver]
Received: 2 [receiver]
Received: 3 [receiver]
Received: 4 [receiver]
Done. [receiver]

創(chuàng)新互聯(lián)于2013年成立,先為徐州等服務建站,徐州等地企業(yè),進行企業(yè)商務咨詢服務。為徐州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

Process finished with exit code 0

調用close函數(shù)可以關閉一個通道。但是,這樣做的時候一定要特別注意:試圖向一個已經(jīng)關閉的通道發(fā)送元素時,會讓發(fā)送操作引起運行時恐慌。因此,你總是應該保證安全的前提下關閉通道。這會設計到一些技巧,比如for語句和select語句。無論怎樣都不應該在接收端關閉通道。因為在接收端通常無法判斷發(fā)送端是否還會向該通道發(fā)送元素。另一方面,在發(fā)送端關閉通道一般不會對接收端的接收操作產(chǎn)生什么影響。如果通道在被關閉時其中仍然有元素,你依然可以接收表達式取出,并根據(jù)該表達式的第二個結果判斷通道是否已無元素可取。
上面的例子:在發(fā)送方,我在向通道dataChan發(fā)送完所有元素并關閉通道后,才告知接收方開始接收。雖然通道已經(jīng)關閉,但是對接收操作并無影響,接收方依然可以在接收完所有元素后自行結束。
最后還有兩點要注意:
1.對弈同一個通道,僅允許關閉一次,對通道的重復關閉會引發(fā)運行恐慌。
2.在調用close函數(shù)時,你需要把代表欲關閉的那個通道的變量作為參數(shù)傳入。如果此時該變量的值為nil,就會引發(fā)運行時恐慌

單向channel:
一個只進步出的通道沒有任何意義。其實,單項通道應由雙向通道變換而來,我們可以用這種變換來約束程序對通道的使用方式:

新聞標題:goroutine/channel(2)
分享地址:http://aaarwkj.com/article10/iihgdo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、品牌網(wǎng)站設計、ChatGPT、小程序開發(fā)、網(wǎng)站排名、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
国产一区 亚洲精品| 中文字幕日韩在线欧美一区| 国产一区二区精品日韩| 强d乱码中文字幕在线| 久久激情日本人妻av免费| 92午夜福利在线视频| 国产精品一区二区久久蜜桃麻豆| 日本一区二区三区加勒比| 久久精品亚洲av三区麻豆| 中文字幕av日韩在线| 国产天堂亚洲国产碰碰| 日韩精品一区二区三区中文| 国产大片久久午夜电影| 欧美日韩国产精品一区二区在线观看| 91精品国产综合久蜜臂| 日韩新片免费专区在线| 国产精品久久99一区| 97在线观看全部视频| 国产精品自偷自偷自偷| 九九六热这里只有精品| 青青青久热国产精品视频| 成人黄色18免费网站| 熟女人妻av五十路六十路| 国产专区亚洲精品欧美| 亚洲熟女av综合网丁香| 欧美日韩精品亚洲成人精品| 高潮的毛片激情久久精品| 四虎在线免费视频播放| 中文字幕一区中出爽亚洲| 国产一区二区乱码在线| 少妇激情一区二区三区免费视频| 丰满少妇高潮在线视频| 欧美老熟妇子乱视频在线| 日本成人高清一区二区| 18禁黄网站禁片免费视频| 91最新精品丝袜国产在线| 亚洲日本一区二区一本一道| 久久五月婷婷爱综合亚洲| 精品人妻一区二区三区四| 欧美成人精品午夜一区二区 | 粉嫩极品国产在线观看|