【发布时间】:2022-01-21 03:34:17
【问题描述】:
我有一个包含值的列表,我想使用执行器服务调用一个函数,该列表中的函数只有一个参数字符串。例如我有 -
private List<String> namesList = new ArrayList<>();
private ExecutorService exeService = Executors.newFixedThreadPool(10);
private void printNames(String name);
我想调用这个函数 printNames 使用列表值与执行器服务并行,即如果我的列表大小为 10,那么应该为该列表数据并行调用这个函数。
可以做输入会很有帮助吗?
【问题讨论】:
-
你卡在哪一部分了?
-
@tgdavies 我有一个线程池,我有一个列表,我坚持的部分是使用并行执行程序服务并行调用函数。
-
使用循环并将一个 Runnable 传递给列表中每个项目的执行程序。
-
@tgdavies 将对此有所帮助 -
for(String s1: nameList) { exeService.submit(() -> { runBatch(s1); }); } -
@tgdavies 您能否详细说明您的答案,因为我对 java 中的执行程序服务非常陌生?
标签: java multithreading concurrency parallel-processing