|
سنتعرف في هذا المثال على كيفية تنفيذ مجموعة عمال باستخدام روتينات Go والقنوات. |
|
|
|
|
|
|
هذا هو العامل الذي سنشغّل عدة نسخ متزامنة منه. سيستقبل هؤلاء
العمال العمل عبر القناة |
|
|
|
|
لاستخدام مجموعة العمال، علينا إرسال العمل إليهم وجمع نتائجهم. ننشئ قناتين لهذا الغرض. |
|
|
يبدأ هذا تشغيل 3 عمال، يكونون محجوبين أولًا لعدم وجود مهام بعد. |
|
|
نرسل هنا 5 مهام عبر |
|
|
نجمع أخيرًا جميع نتائج العمل. يضمن ذلك أيضًا انتهاء روتينات Go العاملة. ومن الطرق البديلة لانتظار عدة روتينات Go استخدام مجموعة انتظار. |
|
|
يوضح تشغيل برنامجنا تنفيذ العمال المختلفين للمهام الخمس. يستغرق البرنامج نحو ثانيتين فقط رغم أن إجمالي العمل يقارب 5 ثوانٍ، لأن هناك 3 عمال يعملون بالتزامن. |
|
|
المثال التالي: مجموعات الانتظار.