美文网首页
Go语言之gorouline

Go语言之gorouline

作者: 测试探索 | 来源:发表于2020-08-04 22:32 被阅读0次

goroutine是什么

goroutine是go并发设计的核心,goroutine说到底其实就是携程,只需要在函数调用语句前添加go关键字,就可创建并发执行单元,开发人员无需了解任何执行细节,调度器会自动将其安排到合适的系统线程上执行。

入门
package main

import (
    "fmt"
    "time"
)
func newTask(){
    fmt.Println("this is a newTask")
    time.Sleep(time.Second)
}
func main(){

    go newTask() //新建一个携程

    for {
        fmt.Println("this is a main goroutine")
        time.Sleep(time.Second)
    }
}

#结果
this is a main goroutine
this is a newTask
this is a main goroutine
this is a main goroutine
主协程退出,子协程一同退出
package main

import (
    "fmt"
    "time"
)

//主协程退出了,其它子协程也要跟着退出
func main(){
    go func(){
        i := 0
        for {
            i++
            fmt.Println("子协程 i = ", i)
            time.Sleep(time.Second)

            if i == 2 {
                break
            }
        }
    }()
    i := 0
    for {
        i++
        fmt.Println("main i = " , i)
        time.Sleep(time.Second)

        if i == 2 {
            break
        }
    }
}
#结果
main i =  1
子协程 i =  1
子协程 i =  2
main i =  2

相关文章

  • Go语言之gorouline

    goroutine是什么 goroutine是go并发设计的核心,goroutine说到底其实就是携程,只需要在函...

  • 便捷golang开发

    go语言之旅:https://tour.go-zh.org/如何使用go编程:https://go-zh.org/...

  • A Tour of Go - Go语言之旅

    Hello,世界 这是Go语言官方的一个简明入门教程,可以帮助我们快速入门Go语言:Go语言之旅[https://...

  • Go语言之方法

    一. 方法 1.1 概述 带有接受者的函数,我们称为方法。本质上一个方法就是一个特殊类型关联的函数。go语言中就可...

  • go语言之导入

    go语言学习,看的是官方的教程,对于计算机语言,自己有一些基础,学习起来也有经验可以借鉴,看懂不难,暂时抓一些“坑...

  • Go语言之“容器”

    1.Struct体现的Go的优雅 1.代码如下,可细细体会struct的魅力 2.程序运行结果: 3.尤其需要注意...

  • Go语言之import

    1. 相对路径 2. 绝对路径 上面展示了一些import常用的几种方式,但是还有一些特殊的import,让很多新...

  • Go语言之反射

    来自本人公众号:灰子学技术原文链接:https://mp.weixin.qq.com/s/SBqx0theCm-G...

  • Go语言之Mutex

    转自公众号“灰子学技术”,原文链接:https://mp.weixin.qq.com/s/XBCcgQsk7WRE...

  • Go语言之error

    本文转自“灰子学技术”, 原文链接:https://mp.weixin.qq.com/s/yxlfeFmfupv8...

网友评论

      本文标题:Go语言之gorouline

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