Scala如何在for循环中一次并发运行X个函数

时间:2018-10-05 20:25:39

标签: scala

//queries a List[String] type
queries.foreach(query => {
  devHive.execute(query)
})

我有一个像这样的简单for loop,我将如何更改它以便一次同时执行100个函数?我不在乎它是否等待所有100个完成,然后执行下一个100,或者在每次完成时执行另一个,无论它是什么,它必须更易于实现。

error: value forEach is not a member of List[Array[String]]
queries.grouped(100).toList.forEach(queriesChunk => {

1 个答案:

答案 0 :(得分:0)

使用类似的方法,这些块将被同步处理:

queries.grouped(100).toList().foreach(queriesChunk => {
    queriesChunk.par.foreach(query => devHive.execute(query))
})

但是块内容将被并行处理。