美文网首页
两个协程交替输出1-20

两个协程交替输出1-20

作者: 倒数第三 | 来源:发表于2018-06-13 16:40 被阅读0次
package main

import (
    "fmt"
    "runtime"
    "time"
)

func main() {
    runtime.GOMAXPROCS(1)
    go func() {
        for i := 1; i <= 10; i++ {
            fmt.Println(2*i - 1)
            runtime.Gosched()
        }
    }()
    go func() {
        for i := 1; i <= 10; i++ {
            fmt.Println(2 * i)
            runtime.Gosched()
        }
    }()
    time.Sleep(3 * time.Second)
}

原理:runtime.GOMAXPROCS(1)设置单核,runtime.Gosched()让出时间片

相关文章

  • 两个协程交替输出1-20

    原理:runtime.GOMAXPROCS(1)设置单核,runtime.Gosched()让出时间片

  • go面试(编程题)

    1,写一个函数判断一个字符串是否是回文,要求不借助额外临时变量 2,编程实现:使用2个协程交替执行,使其能顺序输出...

  • 【Kotlin回顾】10.如何启动协程

    1.launch启动协程 上面是两段代码,这两段代码都是通过launch启动了一个协程并且输出结果也是一样的。 第...

  • golang chan 并发多线程中顺序输出问题

    下来看下面这段代码,意思是开三个协程,输出1到50,标记每个协程,本来以为应该是无序的,没想到,看下列结果: 有多...

  • 给定4个协程输入1234,交替输出到4个文件

    有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件...

  • Unity协程基础用法

    //通过StartCoroutine()开始一个协程 //通过StopCoroutine();关闭一个协程 ...

  • 一学就会的协程使用——基础篇(一)协程启动

    1. 启动一个协程 来,来启动第一个协程吧: 就这么简单,就可以在任意一个地方启动一个协程,而且这个协程必然会执行...

  • 协程相关基础

    Coroutine 基础 我们将介绍协程的基本概念。 第一个协程程序 我们把下面的代码跑起来: 我们可以看到输出:...

  • python列表的小实验

    实验1 列表中存的是什么? 输入 输出 由两个协程对象构成的list1的占用字节是 80由两个整型数字对象构成的l...

  • 协程技术

    1、协程(Coroutine):比线程的单位更小,在一个线程中可以开启多个协程,利用多个协程实现并发。 2、协程跟...

网友评论

      本文标题:两个协程交替输出1-20

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