Встречается на собеседованиях • сегодня
В чем разница между Runnable и Callable
Оба интерфейса используются для выполнения задач в отдельных потоках, но есть ключевые различия:
1. **Возвращаемое значение**
- `Runnable.run()` возвращает `void`
- `Callable.call()` возвращает результат типа `V` (может выбросить исключение)
2. **Исключения**
- `Runnable` не может выбрасывать проверяемые исключения
- `Callable` может выбрасывать `Exception`
3. **Использование**
`Runnable` обычно используют с `Thread` или `ExecutorService`, а `Callable` - только с `ExecutorService`.
Пример:
```java
// Runnable
Runnable task1 = () -> System.out.println("Running");
// Callable
Callable task2 = () -> {
return "Result";
};
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(task1); // Runnable
Future future = executor.submit(task2); // Callable
```

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