Junior — Middle
Kas olete kasutanud Java ülesannete täitmiseks Callable liidest?
sobes.tech AI
Vastus AI-lt
Jah, Java Callable liides kasutatakse ülesannete täitmiseks, mis tagastavad tulemuse ja võivad visata erandeid. Erinevalt Runnable'ist võimaldab Callable saada täitmise tulemust Future kaudu.
Callable kasutamise näide:
import java.util.concurrent.*;
public class CallableExample {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Mõni arvutusülesanne
Thread.sleep(1000);
return 123;
};
Future<Integer> future = executor.submit(task);
System.out.println("Ülesanne käivitus");
Integer result = future.get(); // Ootame tulemust
System.out.println("Tulemus: " + result);
executor.shutdown();
}
}
See lähenemine on kasulik asünkroonsete ülesannete täitmiseks võimalusega saada tulemusi ja käsitleda erandeid.