|
گوروتین (goroutine) یک رشتهٔ اجرایی (thread) سبک است. |
|
![]()
|
|
|
|
|
|
|
|
|
فرض کنید فراخوانی تابع |
|
|
برای اجرای این تابع در یک گوروتین، از |
|
|
میتوانید برای فراخوانی یک تابع بینام هم گوروتین راه بیندازید. |
|
|
حالا دو فراخوانی تابع ما بهصورت ناهمگام در گوروتینهای جداگانه اجرا میشوند. منتظر میمانیم تا تمام شوند (برای روشی مطمئنتر، از WaitGroup استفاده کنید). |
|
|
وقتی این برنامه را اجرا کنیم، اول خروجی فراخوانی مسدودکننده را میبینیم و بعد خروجی دو گوروتین را. خروجی گوروتینها ممکن است درهم باشد، چون runtime زبان Go آنها را همزمان اجرا میکند. |
|
|
در ادامه مکملِ گوروتینها در برنامههای همروند Go را میبینیم: کانالها. |
مثال بعدی: کانالها.