【发布时间】:2021-03-12 07:02:18
【问题描述】:
我有两个程序
- 使用协程
我有 3 个循环,我尝试将每个循环分配给一个协程以便快速执行。
import kotlinx.coroutines.*
fun main() {
val time = measureTimeMillis() {
var i=0
var j=0
var k=0
GlobalScope.launch(Dispatchers.Default){
while(i<1000000)
i++ }
GlobalScope.launch(Dispatchers.Default){
while(j<1000000)
j++}
GlobalScope.launch(Dispatchers.Default){
while(k<1000000)
k++}
}
println(time)
}
输出
109
- 没有协程
import kotlin.system.measureTimeMillis
import kotlinx.coroutines.*
fun main() {
val time = measureTimeMillis() {
var i=0
var j=0
var k=0
while(i<1000000)
i++
while(j<1000000)
j++
while(k<1000000)
k++
}
println(time)
}
输出
9
我已经使用定时器来计算执行时间,但是协程代码需要更长的时间。
为什么会这样,我怎样才能让协程部分更快?
【问题讨论】:
标签: kotlin kotlin-coroutines coroutine