Назад к вопросам
Северсталь-Ифоком
Junior — Middle
66
Какие средства для работы с потоками и параллелизмом предоставляет стандартная библиотека Java?
Компании, где спрашивали
Firecode
А Деньги
Ответ от нейросети
sobes.tech AI
Java стандартная библиотека предоставляет несколько средств для работы с потоками и параллелизмом:
- Класс Thread — базовый способ создания и управления потоками.
- Интерфейс Runnable и Callable — для задания задач, которые могут выполняться в потоках.
- Executor Framework (java.util.concurrent.Executor, ExecutorService) — абстракция для управления пулом потоков и выполнения задач асинхронно.
- Future и CompletableFuture — для получения результата асинхронных вычислений и их комбинирования.
- Синхронизаторы (CountDownLatch, Semaphore, CyclicBarrier, Phaser) — для координации потоков.
- Concurrent Collections (ConcurrentHashMap, CopyOnWriteArrayList и др.) — потокобезопасные коллекции.
- Fork/Join Framework — для эффективного распараллеливания задач, особенно рекурсивных.
Пример использования ExecutorService:
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Задача выполнена в потоке " + Thread.currentThread().getName()));
executor.shutdown();