Go什么时候发生阻塞?阻塞时,调度器会怎么做。
在Go中,阻塞可能会发生在多种情况下,例如当一个goroutine等待另一个goroutine完成某个操作时,或者当一个goroutine等待某个输入/输出操作完成时。
当一个goroutine阻塞时,Go的调度器会自动将其从执行队列中移除,并将它放入等待队列中。在这期间,调度器会查找另一个可以运行的goroutine并将它放入执行队列中,以便它可以继续执行。
当阻塞的goroutine再次变为可运行状态时,调度器会将其从等待队列中移除,并再次将其放入执行队列中,以便它可以继续执行。
总之,Go的调度器会自动管理goroutine的执行状态,并在需要时自动调度可运行的goroutine。
Copyright © 2022-2023, Koudai Team