gbm
03/15/2017, 3:16 PMfun main(args: Array<String>) {
val pool = Executors.newFixedThreadPool(4)
val length: Int = 10000
var startIndex: Int = 0
var endIndex: Int = length
for (i in 1..4) {
pool.execute { task(startIndex, endIndex) }
startIndex = endIndex
endIndex = if (i < 4 - 1) endIndex + length else 40000
}
pool.shutdown()
}
inline fun task(start: Int, end: Int) {
println("Start: $start; End: $end")
}
and it almost works fine but it is possible to get this output:
Start: 10000; End: 20000
Start: 10000; End: 20000
Start: 20000; End: 30000
Start: 30000; End: 40000