Sobes.tech
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();
    }
}

Αυτή η προσέγγιση είναι χρήσιμη για την ασύγχρονη εκτέλεση εργασιών με δυνατότητα λήψης αποτελεσμάτων και διαχείρισης εξαιρέσεων.