hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

golang 怎样开启协程_后端开发

2019-12-31后端开发ki4网27°c
A+ A-

本质上,goroutine 就是协程。 差别的是,Golang 在 runtime、体系挪用等多方面临 goroutine 调理举行了封装和处置惩罚,当碰到长时间实行或许举行体系挪用时。 (引荐进修:go)

会主动把当前 goroutine 的CPU (P) 让渡出去,让其他 goroutine 能被调理并实行,也就是 Golang 从言语层面支撑了协程。

Golang 的一大特征就是从言语层面原生支撑协程,在函数或许要领前面加 go关键字便可建立一个协程。

其他方面的比较

内存斲丧方面

每一个 goroutine (协程) 默许占用内存远比 Java 、C 的线程少。

goroutine:2KB

线程:8MB

线程和 goroutine 切换调理开支方面

线程/goroutine 切换开支方面,goroutine 远比线程小

线程:触及形式切换(从用户态切换到内核态)、16个寄存器、PC、SP...等寄存器的革新等。

goroutine:只要三个寄存器的值修正 - PC / SP / DX.

我们晓得,协程(coroutine)是Go言语中的轻量级线程完成,由Go运行时(runtime)治理。

在一个函数挪用前加上go关键字,此次挪用就会在一个新的goroutine中并发实行。当被挪用的函数返回时,这个goroutine也自动完毕。须要注重的是,假如这个函数有返回值,那末这个返回值会被抛弃。

先看一下下面的程序代码:

func Add(x, y int) {
    z := x + y
    fmt.Println(z)
}
func main() {
    for i:=0; i<10; i++ {
        go Add(i, i)
    }
}

实行上面的代码,会发明屏幕什么也没打印出来,程序就退出了。

以上就是golang 怎样开启协程的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
golang 怎样开启协程_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>