المسارات
/
Scala
Scala
/
التمارين
/
تكرار الحروف بالتوازي
تكرار الحروف بالتوازي

تكرار الحروف بالتوازي

متوسط

التعليمات

احسب تكرار الحروف في النصوص باستخدام الحوسبة المتوازية.

التوازي يعني إنجاز مهام على التوازي يمكن أيضًا إنجازها بشكل تسلسلي. مثال شائع هو حساب تكرار الحروف. استخدم التوازي لحساب التكرار الكلي لكل حرف في مصفوفة من النصوص.

تعليمات خاصة بالمسار

وفقًا لـهذا المصطلح ينبغي أن تكتب برنامجًا متوازيًا وحتميًا، وأن تترك (بكل تأكيد!) لـ Scala التعامل مع جانب التزامن. وإلا فقد يصبح الكود الخاص بك سريعًا فوضويًا وعرضة للأخطاء مع كل أنواع أخطاء التزامن السيئة. وعلى وجه الخصوص، قد يصبح برنامجك غير حتمي، وهو ما يعني عمليًا أنه صعب جدًا (بل شديد الصعوبة) في تصحيح أخطائه واختباره والتفكير فيه.

وبعد هذا كله، قد تكون فكرة جيدة أن تكتب أولًا حلًا تسلسليًا (وتستخدم مجموعة الاختبارات للتحقق منه). وبعد ذلك فقط جرّب جعله متوازيًا، مع إبقاء الأجزاء التسلسلية والمتوازية من الكود منفصلة عن بعضها قدر الإمكان.

يمكن أن تكون المحاولة الأولى باستخدام [المجموعات المتوازية] في Scala. قد تجد أن هذا بسيط أكثر من اللازم (خاصة إن كنت قد اتبعت نصيحتنا ولديك بالفعل حل تسلسلي).

أما في المحاولة الثانية فنوصيك بتجربة حل باستخدام scala.concurrent.Future. ويمكنك الرجوع إلى هذا الدرس وتكملته لبعض المساعدة. تأكد من أنك

  • لديك استدعاء حاجب واحد فقط لانتظار النتيجة
  • وأنه في نهاية برنامجك تمامًا، و
  • وأن له مهلة زمنية.

يُستخدم scala.concurrent.Future في كثير من المكتبات، وهو الحل الموصى به للبرمجة المتوازية وغير المتزامنة في Scala. لذا فهو ضروري لإتقان اللغة، وينبغي أن يصبح جزءًا من عتادك في Scala.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Scala Exercism

مستعد لبدء تكرار الحروف بالتوازي؟

سجّل في Exercism لتتعلّم وتتقن Scala عبر 95 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.

تعمّق في تكرار الحروف بالتوازي!

نستكشف الفروق بين التزامن والتوازي، ونطّلع على أساليب مختلفة تعتمدها لغات مثل JavaScript وGo وElixir وRust.