Sobes.tech
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 Runnable yuborilsa, metod Future<?> ni qaytaradi va bu vazifaning yakunlanishini kuzatish uchun ishlatilishi mumkin, ammo natija null bo'ladi.
  • Agar Callable<V> yuborilsa, submit Future<V> ni qaytaradi, bu yerda V vazifaning 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();