الغوروتينات (goroutines) والقنوات (channels)
جزء من دورة Go
برنامجك يحتاج أن ينزّل عشرين ملفاً. ومكتوباً بالطريقة العادية، ينزّل الأول ثم ينتظر، ثم ينزّل الثاني ثم ينتظر، وهكذا. وكل ذلك الوقت تقريباً يُقضى في لا شيء إطلاقاً، مجرّد انتظار لشبكة أبطأ من معالجك بملايين المرّات. ولو تداخل الانتظار لانتهى العمل أسرع بعشرين ضعفاً.
فعل عدّة أشياء في وقت واحد أقدم مشكلة صعبة في البرمجة، وأغلب اللغات تجعله عسيراً حقاً. أما Go فقد صُمّمت حول هذه المسألة، وهذا هو الدرس الذي يظهر فيه ذلك. وستأخذ فكرتين. الغوروتين (goroutine) قطعة من برنامجك تعمل إلى جانب بقيّته. والقناة أنبوب لتسليم القيم من غوروتين إلى آخر، بأمان، دون أن تضطر إلى ترتيب أي أقفال. ...
هل تريد تعلّم Go الغوروتينات (goroutines) والقنوات (channels) في بيئة حقيقية؟
انقر بالأسفل لتحصل على جهاز لينكس مع Go جاهز، وتعمل على الغوروتينات (goroutines) والقنوات (channels) بشكل عملي مع مدرّس ذكي يعرف الكود الخاص بك.
ابدأ هذا الدرسالغوروتينات (goroutines) والقنوات (channels)ما الذي ستتعلّمه
- The go keyword
- Goroutine lifetime
- Unbuffered channels
- Buffered channels
- Send and receive
- Range over channel
- Close a channel
اقرأ هذا الدرس بلغتك
كل دروس هذه الدورة
20 دروس- 1مرحبا، Go25 دقيقة
- 2المتغيرات والأنواع25 دقيقة
- 3التحكم في التدفق: if و for30 دقيقة
- 4الدوال30 دقيقة
- 5الشرائح (slices) والخرائط (maps)35 دقيقة
- 6الهياكل (structs) والمؤشرات (pointers)35 دقيقة
- 7الأساليب (methods) والواجهات (interfaces)35 دقيقة
- 8معالجة الأخطاء35 دقيقة
- 9الوحدات (modules) وهيكل المشروع35 دقيقة
- 10مشروع CLI الصغير التتويجي40 دقيقة
- 11جولة في المكتبة القياسية40 دقيقة
- 12الاختبار والمعايير المرجعية (benchmarks)40 دقيقة
- 13الغوروتينات (goroutines) والقنوات (channels)40 دقيقة
- 14أنماط التزامن45 دقيقة
- 15الأنواع العامة (generics)35 دقيقة
- 16خوادم HTTP45 دقيقة
- 17قواعد البيانات مع database/sql45 دقيقة
- 18الأداء والتحليل التشخيصي40 دقيقة
- 19أنماط التصميم في لغة Go40 دقيقة
- 20النشر والإنتاج45 دقيقة
