问题是,当您进入时,尚未创建新的goroutine(因此无法将其排除) for{} 。调度程序只能工作,然后goroutine被阻止或调用另一个函数,因此在闭环中调度程序无法调度。
for{}
添加一个time.Sleep(time.Millisecond)之前 for{} 它会起作用。
但是,我不知道你这样做是为了好玩,但如果你想要等待永远(或者直到其他gorounties死锁或死亡),而goroutines工作,那么使用起来要好得多 select{} 这将阻止而不浪费CPU周期。
select{}