الغوروتينات (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
