使用安卓Kotlin写一个多线程计数器
时间: 2023-09-03 12:05:50 浏览: 138
可以使用 Kotlin 的协程来实现多线程计数器。下面是一个简单的例子:
```kotlin
import kotlinx.coroutines.*
fun main() = runBlocking<Unit> {
val startTime = System.currentTimeMillis()
var count = 0
val jobs = List(10_000) {
GlobalScope.launch {
count++
}
}
jobs.forEach { it.join() }
val endTime = System.currentTimeMillis()
println("Count: $count")
println("Time: ${endTime - startTime} ms")
}
```
在这个例子中,我们创建了 10000 个协程,并在每个协程中将计数器加一。最后,我们等待所有协程完成后输出计数器的值和运行时间。
需要注意的是,协程是轻量级的线程,因此它们比传统的线程更加高效。此外,我们在这个例子中使用了 `runBlocking` 函数来阻塞主线程,直到所有协程完成。在实际应用中,我们应该避免使用 `runBlocking`,而是使用其他方式来等待协程完成,例如使用 `async` 和 `await` 函数。
阅读全文