我想通过多线程将此函数作为 List 中所有值的线程执行,请指导我
I Want to execute this function as a thread for all the values in List via multi threading please guide me
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
});
已经可以了。
这里的要点是:有 无数 种方法可以做到这一点,而且它们都有广泛的记录。我建议你开始 here for example. And as Andy 正确声明:"just adding threads" 不一定是改进。更多线程并不自动意味着 "better"。相反,它们使代码更难遵循和理解,并打开了添加潜在错误的整个世界。
List<String> listOfNames = asList("a", "b", "c");
listOfNames
.parallelStream()
.forEach(System.out::print);
将导致例如
bca
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
});
已经可以了。
这里的要点是:有 无数 种方法可以做到这一点,而且它们都有广泛的记录。我建议你开始 here for example. And as Andy 正确声明:"just adding threads" 不一定是改进。更多线程并不自动意味着 "better"。相反,它们使代码更难遵循和理解,并打开了添加潜在错误的整个世界。
List<String> listOfNames = asList("a", "b", "c");
listOfNames
.parallelStream()
.forEach(System.out::print);
将导致例如
bca