我想通过多线程执行此函数作为列表中所有值的线程,请指导我


List<String> listOfNames = new ArrayList<>();for(
String name:listOfNames) {  ///WANT TO PASS THIS VALUE IN THIS FUNCTION AND THIS FUNCTION WILL BE RUN IN PARALLEL FOR ALL INDEXES
   myfunct(name){
  //dosomething
}

简单

listOfNames.parallelStream().forEach( name -> {
  // do something
});

已经做到了。

这里的重点是:做到这一点的方式有 Zillions ,它们都被广泛记载。我建议您从这里开始。正如安迪(Andy(正确指出的那样:"只是添加线程"不一定有所改进。更多的线程不会自动表示"更好"。相反,它们使代码更难遵循和理解,并打开一个添加潜在错误的整个宇宙。

List<String> listOfNames = asList("a", "b", "c");
listOfNames
    .parallelStream()
    .forEach(System.out::print); 

将导致例如

BCA

最新更新