Sobes.tech
Junior — Middle
104

Чӣ гуна метавон интиқоли вазифаҳо ва интизори анҷоми онҳо бо истифода аз ThreadPoolExecutor ташкил дод?

Ширкатҳо дар куҷо пурсиданд
СБЕРСБЕР

Ҷавоб аз AI

sobes.tech AI

Для организации отправки задач и ожидания их завершения с использованием ThreadPoolExecutor в Java можно использовать следующий подход:

  1. Создать экземпляр ThreadPoolExecutor через Executors.newFixedThreadPool или другой фабричный метод.
  2. Отправить задачи на выполнение с помощью метода submit(), который возвращает объект Future.
  3. Для ожидания завершения задачи вызвать метод get() у объекта Future.

Пример:

import java.util.concurrent.*;

public class ThreadPoolExample {
    public static void main(String[] args) throws InterruptedException, ExecutionException {
        ExecutorService executor = Executors.newFixedThreadPool(3);

        Callable<String> task = () -> {
            Thread.sleep(1000);
            return "Задача выполнена";
        };

        Future<String> future = executor.submit(task);

        // Ожидаем завершения задачи и получаем результат
        String result = future.get();
        System.out.println(result);

        executor.shutdown();
    }
}

Таким образом, можно отправлять несколько задач и по необходимости ожидать их завершения, используя объекты Future.