channel问题思考

Posted sunlong88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了channel问题思考相关的知识,希望对你有一定的参考价值。

先看代码

package main
import (
    "strings"
    "fmt"
    "time"
)



func main()  

    users:=strings.Split("shenyi,zhangsan,lisi,wangwu",",")
    ages:=strings.Split("19,21,25,26",",")

    c1,c2:=make(chan bool),make(chan bool)
    ret:=make([]string,0)
    go func() 
        for _,v:=range users
             <-c1
             ret=append(ret,v)
             time.Sleep(time.Second)
             c2<-true
        
    ()
    go func() 
        for _,v:=range ages
            <-c2
            ret=append(ret,v)
            c1<-true
        
    ()
    c1<-true
    fmt.Println(ret)


打印:

[shenyi]

 

以上是关于channel问题思考的主要内容,如果未能解决你的问题,请参考以下文章

Golang 基础:原生并发 goroutine channel 和 select 常见使用场景

Golang 基础:原生并发 goroutine channel 和 select 常见使用场景

文献学习Channel Estimation Method Based on Transformer in High Dynamic Environment

文献学习Channel Estimation Method Based on Transformer in High Dynamic Environment

Go 语言 channel 的阻塞问题

django 频道 channels.exceptions.Channels Full