Go什么时候发生阻塞?阻塞时,调度器会怎么做。

在Go中,阻塞可能会发生在多种情况下,例如当一个goroutine等待另一个goroutine完成某个操作时,或者当一个goroutine等待某个输入/输出操作完成时。

当一个goroutine阻塞时,Go的调度器会自动将其从执行队列中移除,并将它放入等待队列中。在这期间,调度器会查找另一个可以运行的goroutine并将它放入执行队列中,以便它可以继续执行。

当阻塞的goroutine再次变为可运行状态时,调度器会将其从等待队列中移除,并再次将其放入执行队列中,以便它可以继续执行。

总之,Go的调度器会自动管理goroutine的执行状态,并在需要时自动调度可运行的goroutine。