跳到主要内容

控制协程(goroutine)的并发数量

· 阅读需 1 分钟
ahKevinXy
package main
import (
"fmt"
"time"
)
func main() {

go func() {
for {
go func() {
for {
go fmt.Println("hello")
}
}()
}
}()

time.Sleep(time.Hour)
}

对于单个file/socket的并发操作个数超过系统上限 1048575

对于linux 系统中标准输出视为文件,内核(kernel) 利用文件描述符(file descriptor) 来访问文件,标准输出的文件描述符为1,错误输出文件的描述符为2,标准输入的文件描述符为0

系统资源被消尽 就无法进行输出