Завдання: ConcurrentMap
Завдання:
Реалізація багатопотокової системи обліку відвідувань сайту.
Опис:
Необхідно створити програму для обліку кількості відвідувань різних сторінок сайту. Програма повинна коректно працювати у багатопотоковому середовищі, де декілька потоків можуть одночасно збільшувати лічильники відвідувань для різних сторінок.
Вимоги:
- Використання
ConcurrentHashMapдля зберігання даних про відвідування сторінок; - Реалізація методу, який збільшує лічильник відвідувань для заданої сторінки.
incrementVisit(); - Реалізація методу, який повертає поточний лічильник відвідувань для заданої сторінки.
getVisitCount(); - Створення декількох потоків, які будуть одночасно збільшувати лічильники відвідувань. (Це реалізовано у класі
Main, необхідно розібратися, що там відбувається).
Підказки:
- Використання
ConcurrentHashMapдля зберігання даних, де ключем є URL сторінки, а значенням — лічильник відвідувань; - Використання методів
compute()абоmerge()для атомарного оновлення лічильників уConcurrentHashMap.
Потрібно реалізувати методи у класі PageVisitCounterImpl, а потім запустити тести у класі PageVisitCounterTest.
Після успішного виконання завдання всі тести мають пройти.
Після того як усе зроблено правильно, можна спробувати змінити рядок, де оголошується ConcurrentMap у класі PageVisitCounterImpl, і подивитися, що станеться.
Тобто потрібно замінити цей рядок тут на реалізацію ConcurrentMap.
Main.java
1private final ConcurrentMap<String, Integer> visitCounts = new ConcurrentHashMap<>();
У цьому завданні використовується реалізація звичайного Map
Main.java
1private final Map<String, Integer> visitCounts = new HashMap<>();
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.33
Завдання: ConcurrentMap
Свайпніть щоб показати меню
Завдання:
Реалізація багатопотокової системи обліку відвідувань сайту.
Опис:
Необхідно створити програму для обліку кількості відвідувань різних сторінок сайту. Програма повинна коректно працювати у багатопотоковому середовищі, де декілька потоків можуть одночасно збільшувати лічильники відвідувань для різних сторінок.
Вимоги:
- Використання
ConcurrentHashMapдля зберігання даних про відвідування сторінок; - Реалізація методу, який збільшує лічильник відвідувань для заданої сторінки.
incrementVisit(); - Реалізація методу, який повертає поточний лічильник відвідувань для заданої сторінки.
getVisitCount(); - Створення декількох потоків, які будуть одночасно збільшувати лічильники відвідувань. (Це реалізовано у класі
Main, необхідно розібратися, що там відбувається).
Підказки:
- Використання
ConcurrentHashMapдля зберігання даних, де ключем є URL сторінки, а значенням — лічильник відвідувань; - Використання методів
compute()абоmerge()для атомарного оновлення лічильників уConcurrentHashMap.
Потрібно реалізувати методи у класі PageVisitCounterImpl, а потім запустити тести у класі PageVisitCounterTest.
Після успішного виконання завдання всі тести мають пройти.
Після того як усе зроблено правильно, можна спробувати змінити рядок, де оголошується ConcurrentMap у класі PageVisitCounterImpl, і подивитися, що станеться.
Тобто потрібно замінити цей рядок тут на реалізацію ConcurrentMap.
Main.java
1private final ConcurrentMap<String, Integer> visitCounts = new ConcurrentHashMap<>();
У цьому завданні використовується реалізація звичайного Map
Main.java
1private final Map<String, Integer> visitCounts = new HashMap<>();
Дякуємо за ваш відгук!