Junior — Middle
Mi a Future osztály szerepe Java-ban, és mire szolgál?
sobes.tech MI
Válasz az MI-től
A Future osztály Java-ban egy olyan eredményt képvisel egy aszinkron műveletből, amely a jövőben befejeződhet. Arra tervezték, hogy:
- Megszerezze egy másik szálon végrehajtott számítás eredményét.
- Ellenőrizze, hogy a művelet befejeződött-e (
isDone()) vagy törölték-e (isCancelled()). - A feladat törlésének lehetőségét (
cancel()).
Az ExecutorService-vel együtt használják az aszinkron feladatok kezelésére. Például, küldhet egy feladatot végrehajtásra, és folytathatja a munkát, majd megkaphatja az eredményt, amikor az készen áll.
Példa:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> future = executor.submit(() -> {
Thread.sleep(1000); // hosszú művelet szimulációja
return 42;
});
// Itt más műveleteket is végrehajthat
try {
Integer result = future.get(); // blokkol, amíg az eredmény nem lesz kész
System.out.println("Eredmény: " + result);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
executor.shutdown();