Middle
submit ile sadece Runnable mı çalıştırılabilir yoksa Callable da mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da ExecutorService'in submit yöntemi hem Runnable hem de Callable alabilir.
- Eğer
Runnablegeçirilirse, yöntemFuture<?>döner ve bu, görevin tamamlanmasını izlemek için kullanılabilir, ancak sonuçnullolur. - Eğer
Callable<V>geçirilirse,submitFuture<V>döner, buradaVgörevin döndürdüğü sonuç türüdür.
Örnek:
ExecutorService executor = Executors.newFixedThreadPool(2);
// Runnable
Future<?> future1 = executor.submit(() -> System.out.println("Runnable görevi"));
// Callable
Future<Integer> future2 = executor.submit(() -> {
Thread.sleep(1000);
return 42;
});
Integer result = future2.get(); // result 42 olacak
executor.shutdown();