Junior — Middle
Wat is de rol van de interfaces Callable en Runnable in Java, en welke klasse implementeert deze interfaces?
sobes.tech AI
Antwoord van AI
In Java worden de interfaces Runnable en Callable gebruikt om taken te beschrijven die in aparte threads kunnen worden uitgevoerd.
- Runnable — vertegenwoordigt een taak die geen resultaat retourneert en geen gecontroleerde uitzonderingen gooit. De methode
run()geeft geen waarde terug. - Callable<V> — vergelijkbaar met Runnable, maar kan een resultaat van type V teruggeven en uitzonderingen gooien. De methode
call()geeft een waarde terug.
De klasse Thread implementeert de interface Runnable, waardoor het mogelijk is om threads te maken die code uitvoeren uit de run()-methode.
Voorbeeld van gebruik van Callable met ExecutorService:
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Een rekenkundige taak
return 123;
};
Future<Integer> future = executor.submit(task);
Integer result = future.get();
executor.shutdown();