25 lines
571 B
Kotlin
25 lines
571 B
Kotlin
package util.future
|
|
|
|
import kotlinx.coroutines.cancelAndJoin
|
|
import kotlinx.coroutines.runBlocking
|
|
import java.util.concurrent.Future
|
|
import kotlin.time.ExperimentalTime
|
|
import kotlin.time.measureTime
|
|
|
|
@ExperimentalTime
|
|
fun main() = runBlocking {
|
|
val (math, job) = FutureMathImpl().toFutureHandler(FutureMath::class.java)
|
|
|
|
lateinit var sums: List<Future<Int>>
|
|
|
|
val elapsed = measureTime {
|
|
sums = (0 until 100).map { math.add(it, it * 2) }
|
|
}
|
|
|
|
println("Elapsed time: $elapsed")
|
|
|
|
sums.forEach { println(it.get()) }
|
|
|
|
job.cancelAndJoin()
|
|
}
|