美文网首页Kotlin
Kotlin协程打印日志查看当前的线程和协程

Kotlin协程打印日志查看当前的线程和协程

作者: 漆先生 | 来源:发表于2022-02-22 19:51 被阅读0次

    kotlin文档经常有用到Thread.currentThread().name,打印当前的线程和协程,但是自己测试只能看到线程信息。

    fun log(msg: String) = println("[${Thread.currentThread().name}] $msg")
    
    fun simple(): Flow<Int> = flow {
        log("Started simple flow")
        for (i in 1..3) {
            emit(i)
        }
    }
    
    fun main() = runBlocking {
        simple().collect { value -> log("Collected $value") }
    }
    

    输出:

    [main] Started simple flow
    [main] Collected 1
    [main] Collected 2
    [main] Collected 3
    

    需要在as的VM options中配置-Dkotlinx.coroutines.debug才能看到


    image.png image.png

    配置后输出:

    [main @coroutine#1] Started simple flow
    [main @coroutine#1] Collected 1
    [main @coroutine#1] Collected 2
    [main @coroutine#1] Collected 3
    

    相关文章

      网友评论

        本文标题:Kotlin协程打印日志查看当前的线程和协程

        本文链接:https://www.haomeiwen.com/subject/pizglrtx.html