采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,是否可以理解goroutine是非抢占式的,而Goroutine的任务调度是抢占式的?
go 1.14 之后,调度由协作式(非抢占)变为抢占式了。后台有一个sysmon的线程来调度,其中一种情况是:groutine执行超过10ms(如cpu密集型任务)就会被抢占。
goroutine还是goroutine的调度,其实是一个意思。这里看我们站在哪里看。从操作系统角度看,它就是非抢占式的。从我们上层的代码角度看,它也是非抢占式但有些情况也不具有完全的确定性。比如io操作,或者显式调用runtime.Gosched,它们只是告诉调度器我愿意在这里出让控制权。
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
3.9k 14
813 1
2.2k 1
1.2k 12
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号