Cara membuat WaitGroup di Golang
Di Go, sync.WaitGroup
digunakan untuk menunggu sekelompok goroutine selesai sebelum melanjutkan eksekusi program. Ini sangat berguna ketika Anda ingin menunggu beberapa goroutine selesai sebelum menjalankan tindakan selanjutnya di program Anda.
Berikut adalah cara membuat dan menggunakan sync.WaitGroup
:
Membuat Wait Group: Untuk membuat
sync.WaitGroup
, Anda cukup membuat variabel baru dari tipesync.WaitGroup
dan kemudian menggunakan metodeAdd()
untuk menambahkan jumlah goroutine yang perlu ditunggu.Menambahkan Goroutine ke Wait Group: Setiap kali Anda meluncurkan sebuah goroutine yang perlu ditunggu oleh
WaitGroup
, Anda harus menambahkan jumlahnya menggunakan metodeAdd()
.Menunggu Goroutine Selesai: Setelah goroutine selesai, Anda harus memanggil metode
Done()
di dalam goroutine tersebut.WaitGroup
akan menunggu hingga jumlahDone()
yang dipanggil sama dengan jumlahAdd()
yang telah ditambahkan.Menunggu Semua Goroutine Selesai: Setelah semua goroutine ditambahkan dan menjalankan
Wait()
, program akan berhenti dan menunggu sampai semua goroutine selesai.
Berikut adalah contoh lengkap penggunaan sync.WaitGroup
:
Pada contoh di atas, kita membuat tiga goroutine yang membutuhkan waktu satu detik untuk menyelesaikan tugasnya. sync.WaitGroup
digunakan untuk menunggu ketiga goroutine selesai sebelum mencetak pesan "Semua goroutine selesai. Lanjutkan eksekusi program.". WaitGroup
memastikan bahwa program menunggu hingga semua goroutine selesai sebelum melanjutkan eksekusi program utama.
Di bab berikutnya akan dibahas tentang bagaimana membuat Select statement di Golang
Last updated