台式机&硬件面试官:换人!他连进程线程协程这几个特点都说不出( 五 )


台式机&硬件面试官:换人!他连进程线程协程这几个特点都说不出
本文插图

协程调度
Go 调度器最多可以创建 10000 个线程 , 但可以通过设置 GOMAXPROCS 变量指能够正常运行的线程数 ,这个变量的默认值 等于 CPU 个数 , 也就是线程数等于 CPU 核数 , 这样不会触发操作系统的线程调度和上下文切换 , 所有的调度由 Go 语言调度器触发 , 都是在用户态 , 减少了非常多的调用开销 。
总结
这篇文章讲解和对比了进程、线程的概念 , 同时通过进程窥探到操作系统内存管理的冰山一角 , 另外还讲解了具体到 Linux 系统下线程的实现现状 , 顺势引出了轻量级进程的概念 。 最后着重说明了大部分同学不太了解的协程 , 通过对比不同的服务模型 , 带你了解协程的特点 。


推荐阅读