go调度器怎么判断应该把一个goroutine放入LRQ还是GRQ?

新手上路,请多包涵

我们都知道go的gmp调度模型中有LRQ和GRQ两种存放goroutine的队列,那么请问一个goroutine什么时候会被放到LRQ里,什么时候会被放到GRQ里?

阅读 2.9k
2 个回答

优先放本地队列,本地队列满了,就放全局队列。
消费的时候,如果本地队列空了,就从全局队列拿。如果全局队列空了,就随机从另一个P对应的本地队列里面拿一半过来执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题