gbm
for (i in 1..cores) { pool.execute { task(startIndex, endIndex) } startIndex = endIndex endIndex = if (i < cores - 1) endIndex + length else dataSet.size }