用kotlin创建一个协程
时间: 2023-12-22 13:51:49 浏览: 116
在 Kotlin 中创建协程需要使用 kotlinx.coroutines 库。下面是一个简单的例子:
```kotlin
import kotlinx.coroutines.*
fun main() {
// 启动一个协程
GlobalScope.launch {
delay(1000L) // 延迟1秒
println("Hello, world!")
}
println("Waiting...")
Thread.sleep(2000L) // 主线程等待2秒
}
```
在这个例子中,我们使用 `GlobalScope.launch` 函数启动了一个协程。在协程中,我们使用 `delay` 函数让它等待1秒钟,然后输出一条信息。在主线程中,我们打印了一条 "Waiting..." 的信息,并且让主线程等待2秒钟。因为协程是在后台执行的,所以主线程不会被阻塞。
注意:在实际开发中,应该避免使用 `GlobalScope`,因为它会在整个应用程序生命周期内持续存在。更好的做法是创建一个协程作用域,例如:
```kotlin
import kotlinx.coroutines.*
fun main() = runBlocking<Unit> {
// 创建一个协程作用域
launch {
delay(1000L) // 延迟1秒
println("Hello, world!")
}
println("Waiting...")
delay(2000L) // 等待2秒钟
}
```
在这个例子中,我们使用 `runBlocking` 函数创建了一个协程作用域,并在其中启动了一个协程。在协程中,我们使用 `delay` 函数让它等待1秒钟,然后输出一条信息。在主线程中,我们打印了一条 "Waiting..." 的信息,并且使用 `delay` 函数让主线程等待2秒钟。
阅读全文