Junior — Middle
Qual é o papel das interfaces Callable e Runnable em Java, e qual classe implementa essas interfaces?
sobes.tech IA
Resposta da IA
Em Java, as interfaces Runnable e Callable são usadas para descrever tarefas que podem ser executadas em threads separadas.
- Runnable — representa uma tarefa que não retorna resultado e não lança exceções verificadas. O método
run()não retorna valor. - Callable<V> — semelhante ao Runnable, mas pode retornar um resultado do tipo V e lançar exceções. O método
call()retorna um valor.
A classe Thread implementa a interface Runnable, permitindo criar threads que executam o código do método run().
Exemplo de uso de Callable com ExecutorService:
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Alguma tarefa computacional
return 123;
};
Future<Integer> future = executor.submit(task);
Integer result = future.get();
executor.shutdown();