如何在列表的每个对象上进行并发调用?

时间:2019-01-15 10:29:33

标签: java list concurrency

我有一个包含3个对象的列表,我想同时在每个对象上调用一个方法

通常,我会遍历列表中的每个对象并在每个对象上调用方法。

for(Object object : myList){
     object.someMethod();
}

此操作将someMethod()中的每个对象一个一个地调用myList。 我可以同时在每个对象上调用someMethod()吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以通过多种方式并行调用someMethod

使用并行流

 myList.parallelStream().forEach(object -> object. someMethod())

使用执行器服务

ExecutorService executorService = Executors.newFixedThreadPool(myList.size());
 for(Object object : myList){
      executorService.submit(object::someMethod)
 }
  executorService.shutdown();