Goroutines 与线程 ,并发原理,GPM模型,调度过程
为什么有线程了还会有goroutine
goroutines相对于线程的优势
1. 动态栈
修改固定的大小可以提升空间的利用率,允许创建更多的线程。
一个OS线程都有一个固定大小的内存块(一般会是2MB)来做栈,这个栈会用来存储当前正在被调用或挂起(指在调用其它函数时)的函数的内部变量。2MB的栈对于一个小小的goroutine来说是很大的内存浪费,对于很大的goroutine来说又不够。
允许更深的递归调用。
固定大小的栈对于更复杂或者更深层次的递归函数调用来说显然是不够的。不过这两者是.
翻译
2021-04-22 20:02:15 ·
856 阅读 ·
3 评论