為了澄清有關goroutine 的誤解,一位用戶轉向了Go Playground並執行以下程式碼:
<code class="go">package main import ( "fmt" ) func other(done chan bool) { done <- true go func() { for { fmt.Println("Here") } }() } func main() { fmt.Println("Hello, playground") done := make(chan bool) go other(done) <-done fmt.Println("Finished.") }</code>
Go Playground:
本地執行:
產生的輸出幾乎是立即:
Hello, playground. Finished.
預設 GOMAXPROCS 設定為 1。
GOMAXPROCS 可能設定為 CPU 核心數,通常預設大於 1 的值。
結論
以上是為什麼 Go Goroutine 的行為在 Playground 和本地執行之間有所不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!