Go Web编程实战(7)----并发goroutine

举报
择城终老 发表于 2022/02/28 23:21:39 2022/02/28
【摘要】 目录 什么是goroutine?使用方式 什么是goroutine? 在Go语言中,每一个并发执行的活动被称为goroutine。使用go关键字可以创建goroutine,其完整定义如下:...

什么是goroutine?

在Go语言中,每一个并发执行的活动被称为goroutine。使用go关键字可以创建goroutine,其完整定义如下:

go func_name()

  
 
  • 1

其中,go是关键字,需要放在一个需要调用的函数之前;func_name()是定义好的函数或者闭包。

在程序的开发中,先将go关键字声明放到一个需要调用的函数之前,然后在相同地址空间调用运行这个函数,这样该函数执行时,便会作为一个独立的并发线程。这种线程在Go语言中被称为goroutine。

使用方式

goroutine具体的使用方式如下:

package main

import (
	"fmt"
)

func print_text(){
	fmt.Println("Go语言的基础内容讲解到这里就算全部讲完了")
}

func main() {
	go print_text()
	fmt.Println("end")
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

运行之后,输出内容如下:

Go语言基础
可以发现,控制台先输出的“end”,后输出的才是方法打印。如果你在go与打印end中间插入下面这行代码,就会按顺序输出:

go print_text()
time.Sleep(1*time.Second) //插入代码
fmt.Println("end")

  
 
  • 1
  • 2
  • 3

需要注意的是,goroutine在多核CPU环境下是并行的。如果代码块在多个goroutine中执行,则实现了代码的并行。

关于goroutine的详细介绍,我们将在后续的Go Web中详细讲解。

文章来源: liyuanjinglyj.blog.csdn.net,作者:李元静,版权归原作者所有,如需转载,请联系作者。

原文链接:liyuanjinglyj.blog.csdn.net/article/details/123188340

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。