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();