Middle
submit yordamida faqat Runnable ni ishga tushirish mumkinmi yoki Callable ham bo'lishi mumkinmi?
sobes.tech AI
AIdan javob
Java'da ExecutorService'ning submit metodi Runnable va Callable ni qabul qilishi mumkin.
- Agar
Runnableyuborilsa, metodFuture<?>ni qaytaradi va bu vazifaning yakunlanishini kuzatish uchun ishlatilishi mumkin, ammo natijanullbo'ladi. - Agar
Callable<V>yuborilsa,submitFuture<V>ni qaytaradi, bu yerdaVvazifaning qaytaradigan natija turi.
Misol:
ExecutorService executor = Executors.newFixedThreadPool(2);
// Runnable
Future<?> future1 = executor.submit(() -> System.out.println("Runnable vazifa"));
// Callable
Future<Integer> future2 = executor.submit(() -> {
Thread.sleep(1000);
return 42;
});
Integer result = future2.get(); // natija 42 bo'ladi
executor.shutdown();