Sobes.tech
Junior — Middle

Callable arayüzünün kavramını ve programlamadaki amacını açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da Callable<V> arayüzü, ayrı bir iş parçacığında çalıştırılabilen ve V türünde bir sonuç döndüren bir görevi temsil eder. Runnable arayüzünden farklı olarak, sonuç döndürmez ve kontrol edilen istisnaları atamaz, Callable değer döndürmeye ve istisnalar atmaya izin verir.

Bu, çoklu iş parçacığı ve asenkron görev yürütme ile çalışırken özellikle faydalıdır, örneğin ExecutorService kullanarak görevleri başlatmak ve Future nesneleri aracılığıyla sonuçlarını almak gibi.

Kullanım örneği:

import java.util.concurrent.Callable;

public class SumTask implements Callable<Integer> {
    private int a, b;

    public SumTask(int a, int b) {
        this.a = a;
        this.b = b;
    }

    @Override
    public Integer call() throws Exception {
        return a + b;
    }
}

Daha sonra, bu görev ExecutorService'e iletilebilir ve sonuç alınabilir:

ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> future = executor.submit(new SumTask(5, 10));
Integer result = future.get(); // sonuç 15 olacak
executor.shutdown();