Track
/
Scala
Scala
/
Esercizi
/
Frequenza delle lettere in parallelo
Frequenza delle lettere in parallelo

Frequenza delle lettere in parallelo

Medio

Istruzioni

Conta la frequenza delle lettere nei testi usando il calcolo parallelo.

Il parallelismo consiste nel fare in parallelo cose che si possono fare anche in sequenza. Un esempio comune è contare la frequenza delle lettere. Usa il parallelismo per calcolare la frequenza totale di ogni lettera in un elenco di testi.

Istruzioni specifiche del track

Secondo questa terminologia, dovresti scrivere un programma parallelo e deterministico e (senza dubbio!) lasciare che sia Scala a occuparsi dell'aspetto della concorrenza. Altrimenti il codice potrebbe rapidamente diventare disordinato e pieno di errori, con ogni genere di fastidioso bug di concorrenza. In particolare il programma potrebbe diventare non deterministico, il che in pratica significa: molto (anzi, MOLTO) difficile da debuggare, da testare e su cui ragionare.

Detto questo, potrebbe essere una buona idea scrivere prima una soluzione sequenziale (e usare la suite di test per verificarla). Solo dopo dovresti provare a parallelizzarla, mantenendo le parti sequenziali e parallele del codice il più separate possibile.

Una prima iterazione potrebbe usare le collezioni parallele di Scala. Potresti scoprire che è quasi troppo semplice (soprattutto se hai seguito il nostro consiglio e hai già una soluzione sequenziale).

Per la seconda iterazione, ti consigliamo di provare una soluzione con scala.concurrent.Future. Puoi consultare questo tutorial e il suo seguito per un po' di aiuto. Assicurati di

  • avere una sola chiamata bloccante per attendere il risultato
  • che essa si trovi proprio alla fine del programma, e
  • che abbia un timeout.

scala.concurrent.Future è usato in molte librerie ed è il consiglio del medico per la programmazione parallela e asincrona in Scala. Quindi è essenziale per padroneggiare il linguaggio e dovrebbe entrare a far parte del tuo arsenale Scala.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Scala Exercism

Vuoi iniziare Frequenza delle lettere in parallelo?

Iscriviti a Exercism per imparare e padroneggiare Scala con 95 esercizi e il mentoring di persone reali, tutto gratis.

Approfondimento su Frequenza delle lettere in parallelo!

Esploriamo le differenze tra concorrenza e parallelismo, esaminando i diversi approcci adottati da linguaggi come JavaScript, Go, Elixir e Rust.