Встречается на собеседованиях • сегодня

В чем разница между интерфейсом Runnable и Callable

Оба используются для многопоточности, но ключевые отличия: 1. **Возвращаемое значение**: - `Runnable.run()` ничего не возвращает (`void`) - `Callable.call()` возвращает результат (`V`) 2. **Исключения**: - `Runnable` не может выбрасывать проверяемые исключения - `Callable` может выбрасывать `Exception` 3. **Использование**: - `Runnable` передается в `Thread` или `ExecutorService.execute()` - `Callable` используется с `ExecutorService.submit()`, который возвращает `Future` Пример: ```java // Runnable Runnable r = () -> System.out.println("Hello"); new Thread(r).start(); // Callable Callable c = () -> "Result"; Future future = Executors.newSingleThreadExecutor().submit(c); String result = future.get(); // блокирует поток ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы