kotlin 的launch使用
时间: 2023-12-22 20:57:58 浏览: 76
在 Kotlin 中,可以使用 `launch` 函数来创建一个新的协程并在后台执行任务。使用 `launch` 函数时,必须提供要执行的代码块,也可以指定协程的上下文和调度器。
以下是一个简单的示例,展示如何使用 `launch` 函数:
```kotlin
import kotlinx.coroutines.*
fun main() {
println("Start")
// 创建协程
val job = GlobalScope.launch {
delay(1000)
println("Hello from coroutine!")
}
println("End")
}
```
在上面的示例中,我们使用 `launch` 函数创建了一个协程,并指定了一个延迟 1 秒的操作。在 `main` 函数中,我们会先打印出 "Start",然后启动协程,在协程还未执行完成时,继续打印 "End"。这是因为协程是在后台执行的,因此不会阻塞主线程。
如果您想要等待协程执行完毕再继续执行主线程,可以使用 `join` 函数,例如:
```kotlin
import kotlinx.coroutines.*
fun main() {
println("Start")
// 创建协程
val job = GlobalScope.launch {
delay(1000)
println("Hello from coroutine!")
}
// 等待协程执行完毕
runBlocking {
job.join()
}
println("End")
}
```
在上面的示例中,我们使用 `runBlocking` 函数创建一个新的协程作用域,并在其中调用 `job.join()`,以等待协程执行完毕。
阅读全文