Sobes.tech
Назад к вопросам
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();