Встречается на собеседованиях • сегодня
Как реализовывал многопоточность
В Java многопоточность реализуется через класс Thread и интерфейс Runnable. Основные подходы:
- Наследование от Thread:
java
class MyThread extends Thread {
public void run() {
System.out.println("Thread running");
}
}
// Запуск:
new MyThread().start();- Реализация Runnable (предпочтительнее, т.к. Java не поддерживает множественное наследование):
java
class MyRunnable implements Runnable {
public void run() {
System.out.println("Runnable running");
}
}
// Запуск:
new Thread(new MyRunnable()).start();- Executor Framework (современный подход):
java
ExecutorService executor = Executors.newFixedThreadPool(5);
executor.submit(() -> System.out.println("Task executed"));
executor.shutdown();Критические секции синхронизируются через:
synchronizedметоды/блокиReentrantLockAtomicклассыvolatileпеременные
Важно учитывать проблемы race condition, deadlocks и livelocks. Для потокобезопасных коллекций используйте ConcurrentHashMap, CopyOnWriteArrayList и др.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы