Go

Dasar-Dasar Goroutine

Goroutine, keyword go, sync.WaitGroup, runtime.GOMAXPROCS, goroutine leak

20 pertanyaan wawancaraยท
Junior
1

Apa itu goroutine di Go?

Jawaban

Goroutine adalah fungsi yang dieksekusi secara konkuren dengan fungsi lain, dikelola oleh runtime Go alih-alih OS. Goroutine sangat ringan (beberapa KB stack awal) dibandingkan thread OS (beberapa MB). Scheduler Go dapat melakukan multiplexing ribuan bahkan jutaan goroutine ke sejumlah thread OS yang terbatas, membuat konkurensi sangat mudah diakses di Go.

2

Bagaimana cara memulai goroutine baru di Go?

Jawaban

Kata kunci go yang diikuti pemanggilan fungsi memulai goroutine baru. Misalnya, 'go myFunction()' atau 'go func() { ... }()' untuk fungsi anonim. Goroutine langsung dieksekusi secara paralel dengan kode pemanggil. Peringatan: fungsi main tidak secara otomatis menunggu goroutine yang diluncurkan selesai.

3

Apa perbedaan utama antara goroutine dan thread OS?

Jawaban

Sebuah goroutine mengonsumsi sekitar 2 KB stack awal, sementara thread OS biasanya membutuhkan 1-2 MB. Runtime Go mengelola scheduling goroutine di user space (M:N scheduling), melakukan multiplexing ribuan goroutine ke beberapa thread OS. Hal ini memungkinkan pembuatan jutaan goroutine tanpa membebani sistem, berbeda dengan thread OS yang dibatasi oleh sumber daya.

4

Apa yang terjadi jika program utama berakhir sebelum goroutine selesai?

5

Bagaimana runtime Go mengelola eksekusi goroutine?

+17 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis