Sobes.tech
Назад к вопросам
Junior — Middle
70

Какие существуют основные классы и инструменты для реализации многопоточности в Java?

Компании, где спрашивали
Альфа-БанкАльфа-Банк

Ответ от нейросети

sobes.tech AI

В Java для реализации многопоточности используются следующие основные классы и инструменты:

  • Thread — базовый класс для создания и управления потоками. Можно создать класс, наследующий Thread, или передать Runnable в конструктор.
  • Runnable — функциональный интерфейс с методом run(), который реализует код потока.
  • Executor и ExecutorService — интерфейсы и классы из пакета java.util.concurrent для управления пулом потоков и асинхронным выполнением задач.
  • Future и Callable — позволяют запускать задачи, которые возвращают результат и могут выбрасывать исключения.
  • Synchronized, Lock, ReentrantLock — механизмы синхронизации для управления доступом к общим ресурсам.
  • Concurrent Collections (например, ConcurrentHashMap) — коллекции, безопасные для многопоточного доступа.

Пример создания и запуска потока с Runnable:

public class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Поток выполняется");
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(new MyRunnable());
        thread.start();
    }
}