我正在学习Executor服务,并试图了解如何与线程池中的线程共享数据列表。我的runnable方法需要从列表中读取数据并进行处理。
Runnable runnable = () -> {
System.out.println("Inside : " + Thread.currentThread().getName());
process(list.take());
};
ExecutorService executor = Executors.newFixedThreadPool(threadCount);
executorService.submit(runnable);
池中的所有线程应该只处理一次列表中的不同元素
您可以循环查看列表中的每个元素,并将其提交给执行者:
<代码>列表。forEach(e-