1 个回答
Goroutine可以大量启动的原因有:
内存占用少:
内存占用少:
1、Goroutine 的初始栈大小相对较小,通常只有几 KB,并且可以根据需要动态增长,而线程的栈大小通常是固定的,一般为 MB 级,因此在内存资源上 goroutine 更节省。
2、多个 goroutine 可以共享内存空间,减少了创建大量线程时的内存开销。
调度开销小:1、Go 语言的调度器可以高效地在不同的 goroutine 之间切换,而不需要像操作系统线程那样进行昂贵的上下文切换。
2、调度器使用了用户态的调度,避免了内核态和用户态的频繁切换,提高了调度效率。
发布于:3个月前 (01-23) IP属地:四川省
我来回答
您需要 登录 后回答此问题!