我很好奇协程的内部工作suspended
在主线程上。真正的问题是如何记录 suspended
函数,它是主线程上的协程。执行的具体地点在哪里?是虚拟线程吗?
最佳答案
如果您正在谈论记录协程名称:
你可以通过
launch(CoroutineName("My-Coroutine"))
-Dkotlinx.coroutines.debug
在虚拟机选项中。然后可以看到
@My-Coroutine
在日志中。在编辑配置更改后尝试以下代码:
fun main() = runBlocking {
println(" 'runBlocking': I'm working in thread ${Thread.currentThread().name}")
val job = launch(CoroutineName("my-custom-name")) {
println(" 'runBlocking': I'm working in thread ${Thread.currentThread().name}")
}
job.join()}
结果:
关于android - 如何在 Kotlin 中获取协程的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54319799/