Go语言编程快速入门:goroutine

P32 go30-1 - goroutine
更新于: 2022-01-22 03:01:01

goroutine

  • 在go中,独立的任务叫 goroutine
  • 与其它语言中的协程、进程、线程有相似之处,但并不完全相同

启动一个 goroutine

package main

import (
	"fmt"
	"time"
)

func sleepGopher() {
	fmt.Println(time.Second)
	time.Sleep(3 * time.Second)
	fmt.Println("...snop...")
}

func main() {
	go sleepGopher()
	time.Sleep(4 * time.Second)
}

启动多个

golang-notes/src/2022-01/2022-01-22/02

  • 乱序的
  • 不知道等多久停止

执行原理

  • 实际上是利用分时的技术,在不同的通道里执行

参考