Junior — Middle
Έχεις χρησιμοποιήσει το interface Callable για την εκτέλεση εργασιών σε Java;
sobes.tech AI
Απάντηση από AI
Ναι, το interface Callable στη Java χρησιμοποιείται για την εκτέλεση εργασιών που επιστρέφουν αποτέλεσμα και μπορούν να ρίξουν εξαιρέσεις. Σε αντίθεση με το Runnable, το Callable επιτρέπει την απόκτηση του αποτελέσματος μέσω του Future.
Παράδειγμα χρήσης του Callable:
import java.util.concurrent.*;
public class CallableExample {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Μια υπολογιστική εργασία
Thread.sleep(1000);
return 123;
};
Future<Integer> future = executor.submit(task);
System.out.println("Η εργασία ξεκίνησε");
Integer result = future.get(); // Περιμένουμε το αποτέλεσμα
System.out.println("Αποτέλεσμα: " + result);
executor.shutdown();
}
}
Αυτή η προσέγγιση είναι χρήσιμη για την ασύγχρονη εκτέλεση εργασιών με δυνατότητα λήψης αποτελεσμάτων και διαχείρισης εξαιρέσεων.