Sobes.tech
Back to questions
Junior — Middle
70

Какие средства для работы с потоками и параллелизмом предоставляет стандартная библиотека Java?

Companies where asked
Firecode
А Деньги
Северсталь-ИфокомСеверсталь-Ифоком

Answer from AI

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();