美文网首页
Kotlin 协程之 join的一点理解

Kotlin 协程之 join的一点理解

作者: 雨来 | 来源:发表于2022-04-21 22:42 被阅读0次

总结一点

同一协程作用域内,只有子协程执行完毕后父协程才会执行完毕

对于join的一些理解写在注释里面了

 @Test
     fun `myEat`()= runBlocking {

        GlobalScope.launch {
            launch {
                delay(2000)
                println("inner launch")
            }

            launch {
                delay(300)
                println("inner launch2")
            }

            //对于同一作用域内所有的协程 执行完毕 父 协程才会执行完毕

        }
        //不调用join 只会输出下面的 "abc" 因为runBlocking和GlobalScope是一个级别的
        // "因为runBlocking和GlobalScope是一个级别的" 如何理解呢?可以这样理解
        //打个比方 洛阳的市长相当于 runBlocking    GlobalScope.launch 相当于许昌的市长
        // 许昌的市长来到了洛阳市 这个时间 洛阳市下了文件  许昌的市长 肯定 不用理会,然如果  许昌的市长 在洛阳市机关里有其它
        //代理职位的话(相当于join)那么 洛阳市的一些操作 肯定会作用给许昌的市长的 (join后就可以认为 GlobalScope.launch{}
        // 是 runBlocking 的子协程  (我这是这样理解的也不知道理解的对不对)
        // )
        print("abc")
        //对于runBlocking 作用域 那么 GlobalScope.launch 不算是 其子协程 只有调用join 加入才算


    }

相关文章

网友评论

      本文标题:Kotlin 协程之 join的一点理解

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