Dalam cubaan untuk menjelaskan salah faham berkenaan goroutine, seorang pengguna beralih ke Go Playground dan melaksanakan kod berikut:
<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:
Pelaksanaan Tempatan:
Hampiran keluaran yang dihasilkan serta-merta:
Hello, playground. Finished.
Pergi Taman Permainan:
Pelaksanaan Tempatan:
Ambil perhatian bahawa Go Playground pada masa ini menggunakan versi cache output, jadi larian berikutnya mungkin tidak menggambarkan pelaksanaan sebenar dengan tepat.
Memahami kesan GOMAXPROCS pada pelaksanaan goroutine adalah penting untuk mereka bentuk model konkurensi yang sesuai. Tetapan lalai pada Go Playground mungkin tidak selalu meniru gelagat mesin tempatan, menyerlahkan kepentingan ujian di bawah konfigurasi yang berbeza.
Atas ialah kandungan terperinci Mengapa Gelagat Go Goroutine Berbeza Antara Taman Permainan dan Pelaksanaan Tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!