|
برای منتظر ماندن تا پایان کار چند گوروتین، میتوانیم از یک wait group استفاده کنیم. |
|
![]()
|
|
|
|
|
این تابعی است که در هر گوروتین اجرا میکنیم. |
|
|
برای شبیهسازی یک کار سنگین کمی صبر میکنیم. |
|
|
|
|
از این WaitGroup برای منتظر ماندن تا پایان همهٔ گوروتینهایی که اینجا راه میاندازیم استفاده میشود. توجه: اگر WaitGroup صریحاً به توابع داده شود، باید با اشارهگر باشد. |
|
|
با |
|
|
تا وقتی همهٔ گوروتینهایی که |
|
|
توجه کنید که این روش راه سرراستی برای انتقال خطاها از کارگرها ندارد. برای کاربردهای پیشرفتهتر، استفاده از بستهٔ errgroup را در نظر بگیرید. |
|
|
|
|
ترتیب شروع و پایان کار کارگرها احتمالاً در هر بار اجرا متفاوت خواهد بود. |
مثال بعدی: محدودسازی نرخ.