99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

golang并發(fā)編程之channel

一、概念

channel是golang語(yǔ)言級(jí)別提供的協(xié)程(goroutine)之間的通信方式。
goroutine運(yùn)行在相同的地址空間,因此訪問(wèn)共享內(nèi)存必須做好同步。那么goroutine之間如何進(jìn)行數(shù)據(jù)的通信呢,Go提供了一個(gè)很好的通信機(jī)制channel。channel可以與Unix shell 中的雙向管道做類比:可以通過(guò)它發(fā)送或者接收值。這些值只能是特定的類型:channel類型。定義一個(gè)channel時(shí),也需要聲明發(fā)送到channel的值的類型。

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)十年經(jīng)驗(yàn)成就非凡,專業(yè)從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文營(yíng)銷一元廣告等。十年來(lái)已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:18980820575,我們期待您的來(lái)電!

二、聲明方式
    var chanName chan ElementType
    var ch chan int
    使用make,可以指定channel容量
    ch = make(chan int)
三、channel得讀和寫(xiě)

channel通過(guò)操作符<-來(lái)接收和發(fā)送數(shù)據(jù)
默認(rèn)情況下,channel接收和發(fā)送數(shù)據(jù)都是阻塞的,除非另一端已經(jīng)準(zhǔn)備好,這樣就使得Goroutines同步變的更加的簡(jiǎn)單,而不需要顯式的lock。所謂阻塞,也就是如果讀取(value := <-ch)它將會(huì)被阻塞,直到有數(shù)據(jù)接收。其次,任何發(fā)送(ch<-5)將會(huì)被阻塞,直到數(shù)據(jù)被讀出。無(wú)緩沖channel是在多個(gè)goroutine之間同步很棒的工具。

ch <- v    // 發(fā)送v的值到channel ch-> 寫(xiě)數(shù)據(jù)
v := <- ch // 從ch中接收數(shù)據(jù),并賦值給v ->讀數(shù)據(jù)
四、代碼實(shí)現(xiàn)
package main

import (
    "fmt"
    "strconv"
)

//定義一個(gè)加法函數(shù),傳入channel類型,每計(jì)算一次,quit加1
func Add(x, y int, quit chan int)  {
    z := x + y
    fmt.Println(z)

    //寫(xiě)數(shù)據(jù)
    quit <- 1

}

//接受數(shù)據(jù),并賦值給我
func Read(ch chan int)  {
    value := <- ch

    fmt.Println("value" + strconv.Itoa(value))

}

func Write(ch chan int)  {
    //ch <- 10

}

func main()  {

    //定義一個(gè)channel類型切片數(shù)組
    chs := make([]chan int, 10)

    //循環(huán)執(zhí)行加法函數(shù)
    for i := 0; i < 10; i++ {
        //拿取一個(gè)channel
        chs[i] = make(chan int)
        //執(zhí)行g(shù)oroutine和發(fā)送一個(gè)channel類型數(shù)據(jù)
        go Add(i, i, chs[i])
    }

    for _, v := range chs {
        //接口channel類型數(shù)據(jù)
        <- v
    }
}

網(wǎng)站欄目:golang并發(fā)編程之channel
網(wǎng)頁(yè)路徑:http://www.yijiale78.com/article24/jjpije.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化云服務(wù)器企業(yè)建站響應(yīng)式網(wǎng)站靜態(tài)網(wǎng)站服務(wù)器托管

廣告

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

網(wǎng)站優(yōu)化排名