Desafio: ConcurrentMap
Tarefa:
Implementação de sistema multithreaded para contabilização de visitas ao site.
Descrição:
É necessário criar um programa para manter o controle do número de visitas a diferentes páginas do site. O programa deve funcionar corretamente em um ambiente multithreaded, onde várias threads podem aumentar simultaneamente os contadores de visitas para diferentes páginas.
Requisitos:
- Utilizar
ConcurrentHashMappara armazenar dados sobre as visitas às páginas; - Implementar um método que incremente o contador de visitas para uma determinada página.
incrementVisit(); - Implementar um método que retorne o contador de visitas atual para uma determinada página.
getVisitCount(); - Criar múltiplas threads que irão incrementar os contadores de visitas simultaneamente. (Isso está implementado na classe
Main, é necessário analisar o funcionamento dela).
Dicas:
- Utilize
ConcurrentHashMappara armazenar dados onde a chave é a URL da página e o valor é o contador de visitas; - Utilize os métodos
compute()oumerge()para atualizar os contadores atomicamente noConcurrentHashMap.
É necessário completar os métodos na classe PageVisitCounterImpl e, em seguida, executar os testes na classe PageVisitCounterTest.
Após concluir a tarefa com sucesso, todos os testes devem passar.
Depois de realizar tudo corretamente, é possível tentar editar a linha onde ConcurrentMap é declarado na classe PageVisitCounterImpl e observar o que acontece.
Ou seja, é necessário substituir esta linha aqui pela implementação de ConcurrentMap.
Main.java
1private final ConcurrentMap<String, Integer> visitCounts = new ConcurrentHashMap<>();
Neste caso, com a implementação do tradicional Map
Main.java
1private final Map<String, Integer> visitCounts = new HashMap<>();
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.33
Desafio: ConcurrentMap
Deslize para mostrar o menu
Tarefa:
Implementação de sistema multithreaded para contabilização de visitas ao site.
Descrição:
É necessário criar um programa para manter o controle do número de visitas a diferentes páginas do site. O programa deve funcionar corretamente em um ambiente multithreaded, onde várias threads podem aumentar simultaneamente os contadores de visitas para diferentes páginas.
Requisitos:
- Utilizar
ConcurrentHashMappara armazenar dados sobre as visitas às páginas; - Implementar um método que incremente o contador de visitas para uma determinada página.
incrementVisit(); - Implementar um método que retorne o contador de visitas atual para uma determinada página.
getVisitCount(); - Criar múltiplas threads que irão incrementar os contadores de visitas simultaneamente. (Isso está implementado na classe
Main, é necessário analisar o funcionamento dela).
Dicas:
- Utilize
ConcurrentHashMappara armazenar dados onde a chave é a URL da página e o valor é o contador de visitas; - Utilize os métodos
compute()oumerge()para atualizar os contadores atomicamente noConcurrentHashMap.
É necessário completar os métodos na classe PageVisitCounterImpl e, em seguida, executar os testes na classe PageVisitCounterTest.
Após concluir a tarefa com sucesso, todos os testes devem passar.
Depois de realizar tudo corretamente, é possível tentar editar a linha onde ConcurrentMap é declarado na classe PageVisitCounterImpl e observar o que acontece.
Ou seja, é necessário substituir esta linha aqui pela implementação de ConcurrentMap.
Main.java
1private final ConcurrentMap<String, Integer> visitCounts = new ConcurrentHashMap<>();
Neste caso, com a implementação do tradicional Map
Main.java
1private final Map<String, Integer> visitCounts = new HashMap<>();
Obrigado pelo seu feedback!