kotlin 测试协程嵌套

测试下协程嵌套:

Kotlin 复制代码
private fun test1() { // 测试协程的嵌套
        lifecycleScope.launch {
            Log.d("zxzx", "启动parent协程,线程:${Thread.currentThread().name}")
            val parent = lifecycleScope.launch {
                Log.d("zxzx", "parent协程开始执行,线程:${Thread.currentThread().name}")
                launch {
                    Log.d("zxzx", "子协程1开始, 线程:${Thread.currentThread().name}")
                    delay(1000)
                    Log.d("zxzx", "子协程1完成, 线程:${Thread.currentThread().name}")
                }
                launch {
                    Log.d("zxzx", "子协程2开始, 线程:${Thread.currentThread().name}")
                    delay(2000)
                    Log.d("zxzx", "子协程2完成, 线程:${Thread.currentThread().name}")
                }
            }
            parent.join()
            Log.d("zxzx", "parent协程完成。")
            Log.d("zxzx", "你以为湾仔你最大?我乌鸦偏偏不把你放在眼里。")
        }
    }

运行,打印:

ok. join函数能让父协程等待子协程完成。

相关推荐
Enaium7 小时前
我实现了KMP的SDL绑定并编写了高性能软光追
前端·kotlin
杉氧7 小时前
原生交互:如何在 Flutter 中嵌入 Android/iOS 原生组件并解决手势冲突
android·flutter·dart
Android打工仔7 小时前
Continuation 的链式关系 —— 一个 suspend 函数如何把结果交还给调用者?
android·kotlin
hunterandroid7 小时前
[Android 从零到一] Kotlin Channel 与复杂并发场景:从生产者-消费者到结构化并发治理
android
FlightYe8 小时前
linux系统编程(八):阻塞与非阻塞IO对比
android·linux·运维·服务器·github·vim
恋猫de小郭8 小时前
Flutter iOS Deep Link 为什么会突然失效:一系列难以言喻的问题
android·前端·flutter
Kapaseker9 小时前
小白都看得懂的 Skill 教程 - 初识 Skill
android·kotlin·vibecoding
神奇小梵9 小时前
安全和开发的需要了解的知识————下载内容的安全,和下载内容如何运行
android·windows·安全·个人开发
2501_915909069 小时前
iOS 证书创建与管理 类型限制 p12 密码与云备份实操
android·ios·小程序·https·uni-app·iphone·webview
黄毛火烧雪下10 小时前
Service 推送 / Stub·Proxy 对调
android