Встречается на собеседованиях • сегодня
Какие знаешь способы создания потоков
В Java есть несколько способов создания потоков:
1. **Наследование от Thread**
```java
class MyThread extends Thread {
public void run() {
System.out.println("Thread is running");
}
}
MyThread t = new MyThread();
t.start();
```
2. **Реализация Runnable**
```java
class MyRunnable implements Runnable {
public void run() {
System.out.println("Runnable is running");
}
}
Thread t = new Thread(new MyRunnable());
t.start();
```
3. **Лямбда-выражение** (Java 8+)
```java
Thread t = new Thread(() -> System.out.println("Lambda thread"));
t.start();
```
4. **Использование ExecutorService**
```java
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(() -> System.out.println("Executor thread"));
```
5. **Callable + Future** (для возврата результата)
```java
Future future = executor.submit(() -> "Result");
```
Основное отличие: Runnable не возвращает результат, Callable — возвращает. Наследование от Thread менее гибко, чем реализация Runnable. ExecutorService предпочтительнее для управления пулами потоков.

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