Golang goroutine抢占时机

  • 超时
    当goroutine运行时间超过10ms,调度器会尝试抢占该goroutine,使其让出cpu资源。
  • 触发系统调用
    当goroutine执行系统调用时,调度器能够感知并切换goroutine.
    系统调用包括:文件io,网络io,时间睡眠,内存管理,线程管理等,可以理解为goroutine发生阻塞的情况。
  • 显式调用
    程序员可以主动调用runtime.Gosched使goroutine主动让出cpu资源。

     

posted @ 2025-08-31 10:43  CJTARRR  阅读(6)  评论(0)    收藏  举报