Sobes.tech
Junior — Middle

Ai folosit interfața Callable pentru a executa sarcini în Java?

sobes.tech AI

Răspuns de la AI

Da, interfața Callable în Java este utilizată pentru executarea sarcinilor care returnează un rezultat și pot arunca excepții. Spre deosebire de Runnable, Callable permite obținerea rezultatului execuției prin intermediul Future.

Exemplu de utilizare a Callable:

import java.util.concurrent.*;

public class CallableExample {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

        Callable<Integer> task = () -> {
            // O sarcină computațională
            Thread.sleep(1000);
            return 123;
        };

        Future<Integer> future = executor.submit(task);

        System.out.println("Sarcina a fost pornită");

        Integer result = future.get(); // Așteptăm rezultatul
        System.out.println("Rezultatul: " + result);

        executor.shutdown();
    }
}

Această abordare este utilă pentru executarea asincronă a sarcinilor cu posibilitatea de a obține rezultate și de a trata excepțiile.