什么是goroutine?
在Go语言中,每一个并发执行的活动被称为goroutine。使用go关键字可以创建goroutine,其完整定义如下:
go func_name()
其中,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") }
运行之后,输出内容如下:
可以发现,控制台先输出的“end”,后输出的才是方法打印。如果你在go与打印end中间插入下面这行代码,就会按顺序输出:
go print_text() time.Sleep(1*time.Second) //插入代码 fmt.Println("end")
需要注意的是,goroutine在多核CPU环境下是并行的。如果代码块在多个goroutine中执行,则实现了代码的并行。
关于goroutine的详细介绍,我们将在后续的Go Web中详细讲解。