Встречается на собеседованиях • сегодня
Какие знаешь способы управления потоками
В Java управление потоками осуществляется через класс `Thread` и интерфейс `Runnable`. Основные способы:
1. **Наследование от Thread**
```java
class MyThread extends Thread {
public void run() {
System.out.println("Thread running");
}
}
new MyThread().start();
```
2. **Реализация Runnable**
```java
class MyRunnable implements Runnable {
public void run() {
System.out.println("Runnable running");
}
}
new Thread(new MyRunnable()).start();
```
3. **Использование ExecutorService** (рекомендуемый способ)
```java
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Task executed"));
executor.shutdown();
```
4. **Future и Callable** для возврата результатов
```java
Future future = executor.submit(() -> 42);
int result = future.get();
```
5. **Synchronized блоки** и `wait()/notify()` для синхронизации.
Для сложных сценариев - `ForkJoinPool`, `CompletableFuture`, `ThreadLocal`.

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