提问者:小点点

如何在执行器服务中使用数据队列


我正在学习Executor服务,并试图了解如何与线程池中的线程共享数据列表。我的runnable方法需要从列表中读取数据并进行处理。

   Runnable runnable = () -> {
      System.out.println("Inside : " + Thread.currentThread().getName());
      process(list.take());
    };
  ExecutorService executor = Executors.newFixedThreadPool(threadCount);
  executorService.submit(runnable);

池中的所有线程应该只处理一次列表中的不同元素


共1个答案

匿名用户

您可以循环查看列表中的每个元素,并将其提交给执行者:

<代码>列表。forEach(e-