Sobes.tech
Middle

Оё бо истифода аз submit танҳо Runnable ё ҳам Callable метавон оғоз кард?

sobes.tech AI

Ҷавоб аз AI

Д Java-да ExecutorService-ниң submit усули Runnable вә Callable ни қобул қилиши мумкин.

  • Әгәр Runnable ни әвәтсәң, усул Future<?> қайтуриду вә бу ишниң аяқлинишини көзитиш үчүн ишлитилиши мумкин, амма нәтиҗә null болиду.
  • Әгәр Callable<V> ни әвәтсәң, submit Future<V> қайтуриду, бу йәрдә V — иштин қайтурулидиған нәтиҗә типи.

Мисал:

ExecutorService executor = Executors.newFixedThreadPool(2);

// Runnable
Future<?> future1 = executor.submit(() -> System.out.println("Runnable тапшурма"));

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

Integer result = future2.get(); // нәтиҗә 42 болиду
executor.shutdown();