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