Sobes.tech
Middle

submit ilə yalnız Runnable-i işə salmaq mümkündürmü yoxsa Callable də mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Java'da ExecutorService'in submit metodu həm Runnable, həm də Callable qəbul edə bilər.

  • Əgər Runnable göndərilsə, metod Future<?> qaytarır və bu, tapşırığın tamamlanmasını izləmək üçün istifadə oluna bilər, lakin nəticə null olacaq.
  • Əgər Callable<V> göndərilsə, submit Future<V> qaytarır, burada V tapşırıq tərəfindən qaytarılan nəticə növüdür.

Misal:

ExecutorService executor = Executors.newFixedThreadPool(2);

// Runnable
Future<?> future1 = executor.submit(() -> System.out.println("Runnable tapşırığı"));

// Callable
Future<Integer> future2 = executor.submit(() -> {
    Thread.sleep(1000);
    return 42;
});

Integer result = future2.get(); // nəticə 42 olacaq
executor.shutdown();