Trilhas
/
Scala
Scala
/
Exercícios
/
Frequência de Letras em Paralelo
Frequência de Letras em Paralelo

Frequência de Letras em Paralelo

Médio

Instruções

Conte a frequência das letras em textos usando computação paralela.

O paralelismo consiste em fazer em paralelo coisas que também podem ser feitas de forma sequencial. Um exemplo comum é contar a frequência das letras. Use o paralelismo para calcular a frequência total de cada letra em uma lista de textos.

Instruções específicas da trilha

De acordo com esta terminologia, você deve escrever um programa paralelo e determinístico e (sem dúvida!) deixar que o Scala cuide do aspecto da concorrência. Caso contrário, seu código pode rapidamente ficar desorganizado e propenso a erros, com todo tipo de bug desagradável de concorrência. Em particular, seu programa pode se tornar não determinístico, o que na prática significa: muito (na verdade, MUITO) difícil de debugar, testar e raciocinar sobre.

Dito isso, pode ser uma boa ideia escrever primeiro uma solução sequencial (e usar a suíte de testes para verificá-la). Só depois disso você deve tentar paralelizá-la, mantendo as partes sequencial e paralela do seu código o mais separadas possível.

Uma primeira iteração poderia usar as coleções paralelas do Scala. Você pode achar que isso é quase simples demais (especialmente se você seguiu nosso conselho e já tem uma solução sequencial).

Para a segunda iteração, recomendamos que você experimente uma solução com scala.concurrent.Future. Você pode consultar este tutorial e sua continuação para obter ajuda. Certifique-se de que você

  • tenha apenas uma única chamada bloqueante para esperar o resultado
  • que ela esteja bem no final do seu programa, e
  • que ela tenha um timeout.

scala.concurrent.Future é usado em muitas bibliotecas e é o conselho do doutor para programação paralela e assíncrona em Scala. Por isso, ele é essencial para dominar a linguagem e deve se tornar parte do seu arsenal de Scala.

Editar via GitHub O link abre em uma nova janela ou aba
Scala Exercism

Tudo pronto para começar Frequência de Letras em Paralelo?

Crie sua conta no Exercism para aprender e dominar Scala com 95 exercícios e mentoria humana de verdade, tudo de graça.

Mergulho profundo em Frequência de Letras em Paralelo!

Exploramos as diferenças entre concorrência e paralelismo, vendo as diferentes abordagens adotadas por linguagens como JavaScript, Go, Elixir e Rust.