WaitGroups
WaitGroup
yapısı, Go dilinde, goroutine
'lar arasında senkronizasyon sağlamak için kullanılan bir mekanizmadır. WaitGroup
yapısı, Go'nun sync
paketi içinde bulunur.
WaitGroup
yapısı, programcıların çalışacak işlemlerin sayısını önceden belirtmelerine ve bu işlemlerin tamamlanmasını beklemelerine olanak tanır. Her goroutine
, işlemin tamamlandığını bildirmek için WaitGroup
yapısındaki Done()
fonksiyonunu çağırır. WaitGroup
yapısındaki Wait()
fonksiyonu, tüm işlemlerin tamamlanmasını bekler.
Aşağıdaki örnek, WaitGroup
yapısının kullanımını göstermektedir:
Bu örnekte, 5 adet iş yapan işçi fonksiyonu worker()
çalıştırılır. WaitGroup
yapısı, her işçi fonksiyonu başlamadan önce Add()
fonksiyonu ile bekleyen işlem sayısını arttırır. Her işçi fonksiyonu tamamlandığında, Done()
fonksiyonu ile bir işlem tamamlandığı bildirilir. Wait()
fonksiyonu, tüm işlemlerin tamamlandığını beklemek için kullanılır. Sonuç olarak, tüm işçi fonksiyonları tamamlandıktan sonra, main()
fonksiyonu "All workers done" mesajını yazdırır.
Last updated