/
dmmitrii
/
multithreading
Обзор
Документация
Войти
/
dmmitrii
/
multithreading
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Counter.java
51 строка
1 KB
dmmitrii
multithreading
16 май 2025, 00:38
16 май 2025, 00:38
800c917
Код
Авторство
О чём код?
package multithreading; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; /** * Класс {@code Counter} реализует простой счетчик, предназначенный для * инкрементации значения в многопоточном окружении. * * * Пример использования: * <pre> * Counter counter = new Counter(); * counter.increment(); * int currentCount = counter.getCount(); * </pre> * */ public class Counter { private int count = 0; public void increment() { count++; } public int getCount() { return count; } public static void main(String[] args) throws InterruptedException { Counter counter = new Counter(); int numberOfThreads = 1000; ExecutorService executor = Executors.newFixedThreadPool(numberOfThreads); for (int i = 0; i < numberOfThreads; i++) { executor.submit(() -> { for (int j = 0; j < 1000; j++) { counter.increment(); } }); } executor.shutdown(); executor.awaitTermination(1, TimeUnit.MINUTES); System.out.println("Final count: " + counter.getCount()); } }