Utmaning: Concurrentmap
Uppgift:
Implementering av multitrådat system för registrering av sidvisningar.
Beskrivning:
Det är nödvändigt att skapa ett program för att hålla reda på antalet besök på olika sidor på webbplatsen. Programmet ska fungera korrekt i en multitrådad miljö, där flera trådar samtidigt kan öka besöksräknare för olika sidor.
Krav:
- Använd
ConcurrentHashMapför att lagra data om sidbesök; - Implementera en metod som ökar besöksräknaren för en given sida.
incrementVisit(); - Implementera en metod som returnerar det aktuella antalet besök för en given sida.
getVisitCount(); - Skapa flera trådar som ökar besöksräknarna samtidigt. (Detta är implementerat i klassen
Main, du behöver förstå vad som händer där).
Tips:
- Använd
ConcurrentHashMapför att lagra data där nyckeln är sidans URL och värdet är antalet besök; - Använd metoderna
compute()ellermerge()för att atomärt uppdatera räknare iConcurrentHashMap.
Du behöver slutföra metoderna i klassen PageVisitCounterImpl och därefter köra testerna i klassen PageVisitCounterTest.
När du har slutfört uppgiften korrekt ska alla tester klara sig.
När du har gjort allt korrekt kan du försöka redigera raden där ConcurrentMap deklareras i klassen PageVisitCounterImpl och se vad som händer.
Det vill säga, du behöver ersätta denna rad här med ConcurrentMap-implementeringen.
Main.java
1private final ConcurrentMap<String, Integer> visitCounts = new ConcurrentHashMap<>();
I detta exempel, med användning av den vanliga Map
Main.java
1private final Map<String, Integer> visitCounts = new HashMap<>();
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you show me the code for the PageVisitCounterImpl class?
What do the incrementVisit() and getVisitCount() methods currently look like?
Can you explain how the Main class is creating and running the threads?
Awesome!
Completion rate improved to 3.33
Utmaning: Concurrentmap
Svep för att visa menyn
Uppgift:
Implementering av multitrådat system för registrering av sidvisningar.
Beskrivning:
Det är nödvändigt att skapa ett program för att hålla reda på antalet besök på olika sidor på webbplatsen. Programmet ska fungera korrekt i en multitrådad miljö, där flera trådar samtidigt kan öka besöksräknare för olika sidor.
Krav:
- Använd
ConcurrentHashMapför att lagra data om sidbesök; - Implementera en metod som ökar besöksräknaren för en given sida.
incrementVisit(); - Implementera en metod som returnerar det aktuella antalet besök för en given sida.
getVisitCount(); - Skapa flera trådar som ökar besöksräknarna samtidigt. (Detta är implementerat i klassen
Main, du behöver förstå vad som händer där).
Tips:
- Använd
ConcurrentHashMapför att lagra data där nyckeln är sidans URL och värdet är antalet besök; - Använd metoderna
compute()ellermerge()för att atomärt uppdatera räknare iConcurrentHashMap.
Du behöver slutföra metoderna i klassen PageVisitCounterImpl och därefter köra testerna i klassen PageVisitCounterTest.
När du har slutfört uppgiften korrekt ska alla tester klara sig.
När du har gjort allt korrekt kan du försöka redigera raden där ConcurrentMap deklareras i klassen PageVisitCounterImpl och se vad som händer.
Det vill säga, du behöver ersätta denna rad här med ConcurrentMap-implementeringen.
Main.java
1private final ConcurrentMap<String, Integer> visitCounts = new ConcurrentHashMap<>();
I detta exempel, med användning av den vanliga Map
Main.java
1private final Map<String, Integer> visitCounts = new HashMap<>();
Tack för dina kommentarer!