احسب تكرار الحروف في النصوص باستخدام الحوسبة المتوازية.
التوازي يعني إنجاز مهام على التوازي يمكن أيضًا إنجازها بشكل تسلسلي. مثال شائع هو حساب تكرار الحروف. استخدم التوازي لحساب التكرار الكلي لكل حرف في مصفوفة من النصوص.
وفقًا لـهذا المصطلح ينبغي أن تكتب برنامجًا متوازيًا وحتميًا، وأن تترك (بكل تأكيد!) لـ Scala التعامل مع جانب التزامن. وإلا فقد يصبح الكود الخاص بك سريعًا فوضويًا وعرضة للأخطاء مع كل أنواع أخطاء التزامن السيئة. وعلى وجه الخصوص، قد يصبح برنامجك غير حتمي، وهو ما يعني عمليًا أنه صعب جدًا (بل شديد الصعوبة) في تصحيح أخطائه واختباره والتفكير فيه.
وبعد هذا كله، قد تكون فكرة جيدة أن تكتب أولًا حلًا تسلسليًا (وتستخدم مجموعة الاختبارات للتحقق منه). وبعد ذلك فقط جرّب جعله متوازيًا، مع إبقاء الأجزاء التسلسلية والمتوازية من الكود منفصلة عن بعضها قدر الإمكان.
يمكن أن تكون المحاولة الأولى باستخدام [المجموعات المتوازية] في Scala. قد تجد أن هذا بسيط أكثر من اللازم (خاصة إن كنت قد اتبعت نصيحتنا ولديك بالفعل حل تسلسلي).
أما في المحاولة الثانية فنوصيك بتجربة حل باستخدام scala.concurrent.Future.
ويمكنك الرجوع إلى هذا الدرس وتكملته لبعض المساعدة.
تأكد من أنك
يُستخدم scala.concurrent.Future في كثير من المكتبات، وهو الحل الموصى به للبرمجة المتوازية وغير المتزامنة في Scala.
لذا فهو ضروري لإتقان اللغة، وينبغي أن يصبح جزءًا من عتادك في Scala.
سجّل في Exercism لتتعلّم وتتقن Scala عبر 95 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.
نستكشف الفروق بين التزامن والتوازي، ونطّلع على أساليب مختلفة تعتمدها لغات مثل JavaScript وGo وElixir وRust.