الكتاب الأساسي

نظرة عامة على مزامنة التزامن

سيشرح هذا المقال ما هي المزامنات ويسرد أساليب المزامنة التي تدعمها Go.

ما هي مزامنة التزامن؟

مزامنة التزامن تعني كيفية التحكم في الحسابات المتزامنة (أي goroutines في Go)

  • لتجنّب تسابقات البيانات بينها،
  • لتجنّب استهلاكها موارد المعالج (CPU) عندما لا يكون لديها ما تفعله.

ما أساليب المزامنة التي تدعمها Go؟

بيّن مقال القنوات في Go أننا نستطيع استخدام القنوات للقيام بالمزامنة. وإلى جانب استخدام القنوات، تدعم Go أيضاً عدة أساليب مزامنة شائعة أخرى، مثل mutex والعمليات الذرية. يُرجى قراءة المقالات التالية لمعرفة كيفية القيام بالمزامنة بجميع أنواع الأساليب في Go:

يمكننا أيضاً القيام بالمزامنة بالاستفادة من IO الشبكة والملفات. لكن هذه الأساليب غير فعّالة إطلاقاً داخل عملية برنامج واحدة. وعموماً، تُستخدم للمزامنة بين العمليات والمزامنة الموزّعة. ولن يتناول Go 101 هذه الأساليب.

لفهم أساليب المزامنة هذه بشكل أفضل، يُوصى بمعرفة ضمانات ترتيب الذاكرة في Go.

لن تمنع تقنيات مزامنة البيانات في Go المبرمجين من كتابة شيفرة متزامنة غير سليمة. لكن هذه الأساليب يمكن أن تساعد المبرمجين على كتابة شيفرة متزامنة صحيحة بسهولة. كما أن الميزات الفريدة المتعلقة بالقنوات تجعل البرمجة المتزامنة مرنة وممتعة.