Kurzusok
/
Scala
Scala
/
Feladatok
/
Párhuzamos betűgyakoriság
Párhuzamos betűgyakoriság

Párhuzamos betűgyakoriság

Közepes

Utasítások

Párhuzamos számítással számold meg a betűk gyakoriságát szövegekben.

A párhuzamosság lényege, hogy olyan dolgokat végzünk párhuzamosan, amelyeket sorosan is el lehet végezni. Gyakori példa erre a betűk gyakoriságának megszámolása. Használj párhuzamosságot, hogy kiszámítsd az egyes betűk összesített gyakoriságát a szövegek listájában.

Kurzusspecifikus utasítások

Az itt leírt terminológia szerint párhuzamos és determinisztikus programot kell írnod, és (mindenképp!) hagyd, hogy a Scala foglalkozzon a konkurencia kérdésével. Különben a kódod hamar zavarossá és hibahajlamossá válhat mindenféle csúnya konkurenciahiba miatt. Különösen előfordulhat, hogy a programod nemdeterminisztikussá válik, ami a gyakorlatban annyit tesz: nagyon (sőt, NAGYON) nehéz debugolni, tesztelni és átgondolni.

Mindezek után viszont jó ötlet lehet először egy szekvenciális megoldást írni (és a tesztkészlettel ellenőrizni). Csak ezután próbálkozz a párhuzamosítással, miközben a kódod szekvenciális és párhuzamos részeit a lehető legjobban elkülönítve tartod.

Első iterációként használhatod a Scala párhuzamos kollekciók szolgáltatását. Lehet, hogy ez szinte túl egyszerűnek tűnik majd (főleg, ha megfogadtad a tanácsunkat, és már van szekvenciális megoldásod).

A második iterációhoz azt javasoljuk, hogy próbálj ki egy scala.concurrent.Future alapú megoldást. Segítségért megnézheted ezt az útmutatót és a folytatását. Ügyelj arra, hogy

  • csak egyetlen blokkoló hívás várjon az eredményre,
  • az a programod legvégén legyen, és
  • legyen benne időtúllépés.

A scala.concurrent.Future-t rengeteg könyvtár használja, és ez a Scala párhuzamos és aszinkron programozásának ajánlott módja. Ezért elengedhetetlen a nyelv elsajátításához, és a Scala-fegyvertárad részévé kell válnia.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Scala Exercism

Készen állsz elkezdeni a(z) Párhuzamos betűgyakoriság feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Scala nyelvet 95 feladat segítségével, valódi emberi mentorálással, mindez ingyen.

Mélyelemzés: Párhuzamos betűgyakoriság!

A konkurencia és a párhuzamosság közötti különbségeket járjuk körbe, olyan nyelvek eltérő megközelítéseit szemügyre véve, mint a JavaScript, a Go, az Elixir és a Rust.