Back to questions
Альфа-Банк
Junior — Middle
69
Какие существуют основные классы и инструменты для реализации многопоточности в Java?
Companies where asked
Answer from AI
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();
}
}