一天一道go面试题之(1)Goroutine的调度器时如何巩工作的
Goroutine的调度器时Go运行时系统中的核心组件,用于动态地将Goroutine分配到不同的线程和处理器上,并通过pre-emption和yield机制来保证Goroutine的公平性和响应性。
首先,一个大的基本模式是,当一个Goroutine被创建时,它会被放入全局队列中,当一个线程空闲时,它会从全局队列中获取一个Goroutine。
在上述大模式基础上,为了防止某个Goroutine占用太多时间而影响其他Goroutine的运行,调度器还支持pre-emption机制,在某些式可强制暂停当前Goroutine并把CPU时间片分配给其他Goroutine。