Loading

Golang 协程的操作

Golang协程的优势:

  • Golang的主线程是一个物理线程,直接作用在cpu上的,是重量级的,非常消耗cpu资源
  • Golang的协程从主线程开启的,是轻量级的线程,是逻辑态,对资源消耗相对小
  • Golang的协程机制是重要的特点,可以轻松地开启上万个协程,对于其它语言来说,并发机制是基于线程的,开启过多的线程,资源耗费大,这里就突显了Golang在并发上的优势了

图例:

代码案例:

package main

import (
	"fmt"
	"strconv"
	"time"
)

func test() {
	for i := 0; i < 10; i++ {
		fmt.Println("test()" + strconv.Itoa(i))
		time.Sleep(time.Second)
	}
}
func main() {
	go test() // go 关键字开启了一个协程
	for i := 0; i < 10; i++ {
		fmt.Println("main()" + strconv.Itoa(i))
		time.Sleep(time.Second)
	}
}

 

posted @ 2024-10-10 21:46  Carver大脸猫  阅读(7)  评论(0)    收藏  举报