gpt4 book ai didi

android - 如何在 Kotlin 中获取协程的名称?

转载 作者:行者123 更新时间:2023-12-04 23:36:13 27 4
gpt4 key购买 nike

我很好奇协程的内部工作suspended在主线程上。真正的问题是如何记录 suspended函数,它是主线程上的协程。执行的具体地点在哪里?是虚拟线程吗?

最佳答案

如果您正在谈论记录协程名称:

你可以通过

  • 为协程命名(如果您想要自定义名称):launch(CoroutineName("My-Coroutine"))
  • 在 IntelliJ 工具栏菜单中启用日志记录:运行 -> 编辑配置并添加
  • -Dkotlinx.coroutines.debug在虚拟机选项中。

    VM Option in Edit Configuration

    然后可以看到 @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()}

    结果:
    Result

    关于android - 如何在 Kotlin 中获取协程的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54319799/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com