开启1000个协程
package main
import (
"time"
)
// main函数也是协程
func main() {
// 查看开1000个协程后系统占用多少个线程
var a [1000]int
for i := 0; i < 1000; i++ {
go func(i int) {
for {
a[i]++
}
}(i)
}
time.Sleep(time.Minute)
}
查看协程占用情况
// 因代码中开启协程后一直在进行运算,故CPU占用肯定很高;此处以CPU进行排序
top -o cpu
// 执行代码
go run main.go
根据图片可以看出 开启了9个线程,当前活动线程有8个(活动线程根据实际执行情况会有变化)