美文网首页
第14章 使用 select 切换协程

第14章 使用 select 切换协程

作者: yezide | 来源:发表于2020-01-25 13:50 被阅读0次

1、切换

package main

import "fmt"
import "time"

func genData1(ch chan int) {
    for i :=2; ; i++ {
        ch <- i * 2
    }
}

func genData2(ch chan int) {
    for i :=2; ; i++ {
        ch <- i / 2
    }
}

func getData(ch1 chan int, ch2 chan int) {
    for {
        select {
            case v := <-ch1:
                fmt.Printf("Received on channel 1: %d\n", v)
            case v := <-ch2:
                fmt.Printf("Received on channel 2: %d\n", v)
        }
    }
}

func main() {
    ch1 := make(chan int)
    ch2 := make(chan int)

    go genData1(ch1)
    go genData2(ch2)
    go getData(ch1, ch2)
    time.Sleep(1e9)
}

相关文章

  • 使用 select 切换协程

    使用 select 切换协程 从不同的并发执行的协程中获取值可以通过关键字select来完成,它和switch控制...

  • 第14章 使用 select 切换协程

    1、切换

  • greenlet和gevent的简单使用

    greenlet模块内部使用了协程的概念,在单线程内,我们需手动调用switch切换协程,使用方法如下 执行结果 ...

  • Kotlin Primer·第七章·协程库(上篇)

    本篇只讲了协程库的使用。还有中篇讲协程的启动和切换实现原理,下篇核心讲解kotlin协程在JVM层的实现原理。这可...

  • [Android] 深入理解Kotlin协程

    Kotlin协程 协程由程序自己创建和调度,不需要操作系统调度,所以协程比线程更加轻量。相比于线程的切换,协程切换...

  • 协程 Select

    接收 发送

  • Kotlin: withContext 详解

    withContext 是 Kotlin 中一个非常有用的挂起函数,用于在协程中切换上下文。通常,我们使用协程来执...

  • 协程

    协程,又称微线程,纤程,协程是一种用户态的轻量级线程 协程是单线程 协程的好处: 1 没有上下文切换 ...

  • 协程.md

    协程协程中使用suspend修饰方法,代表该方法可在协程中挂起。但并不是协程方法必须使用suspend修饰协程和线...

  • 协程

    协程多用在函数间切换,轻量级使用资源,生成器是实现协程的基本方式,这里首先看一下专门用作协程的模块greenlet...

网友评论

      本文标题:第14章 使用 select 切换协程

      本文链接:https://www.haomeiwen.com/subject/wwwnzctx.html