runtime.Gosched()
package?main import?( ????"fmt" ????"runtime" ) func?main()?{ ????go?fmt.Println("Go!") ????runtime.Gosched() }
請問這個代碼不執行println是什么原因呢
package?main import?( ????"fmt" ????"runtime" ) func?main()?{ ????go?fmt.Println("Go!") ????runtime.Gosched() }
請問這個代碼不執行println是什么原因呢
2017-09-17
舉報
2023-07-23
主協程(main函數程序塊)執行完時,如果存在子協程(go語句程序塊)沒有被調用執行,那就會直接被丟棄。runtime.Gosched會激活子協程,但不會中斷主協程,所以可能go語句沒執行完時main協程就完成退出了
2019-02-15
嘗試了一下,有時候執行有時候不執行,還是隨機的,所以runtime.Gosched()到底做了什么(哭笑不得
2017-09-19
不需要 go