摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val channel = Channel<Int>() //发送消息 launch { (1..3).forEach { channel.send(it) log 阅读全文
posted @ 2025-07-26 11:39
刘宏缔的架构森林
阅读(21)
评论(0)
推荐(0)
摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { //给协程命名 val job = launch(CoroutineName("协cor1")) { val corName = coroutineContext[ 阅读全文
posted @ 2025-07-26 11:39
刘宏缔的架构森林
阅读(11)
评论(0)
推荐(0)
摘要:
一,协程调度器Coroutine Dispatcher Dispatchers.Main,它只在 UI 编程平台才有意义,在 Android、Swing 之类的平台上,一般只有 Main 线程才能用于 UI 绘制。这个 Dispatcher 在普通的 JVM 工程当中,是无法直接使用的。 Dispa 阅读全文
posted @ 2025-07-26 11:39
刘宏缔的架构森林
阅读(47)
评论(0)
推荐(0)
摘要:
一,生命周期示意图 引用自极客时间朱老师 二,代码: binding.button1.setOnClickListener { runBlocking { val job = launch { println("launch开始") delay(1000L) println("launch结束") 阅读全文
posted @ 2025-07-26 11:39
刘宏缔的架构森林
阅读(21)
评论(0)
推荐(0)
摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { // 仅用于测试,生成环境不要使用这么简易的CoroutineScope val scope = CoroutineScope(Job()) scope.launc 阅读全文
posted @ 2025-07-26 11:38
刘宏缔的架构森林
阅读(24)
评论(0)
推荐(0)
摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { var i = 0 val jobs = mutableListOf<Job>() // 重复一万次,启动一万个协程 repeat(10000){ val job 阅读全文
posted @ 2025-07-26 11:38
刘宏缔的架构森林
阅读(14)
评论(0)
推荐(0)
摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { suspend fun getResult1(): String { delay(3000L) // 模拟耗时操作 return "Result1" } suspe 阅读全文
posted @ 2025-07-26 11:38
刘宏缔的架构森林
阅读(15)
评论(0)
推荐(0)
摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { suspend fun getResult1(): String { delay(1000L) // 模拟耗时操作 return "Result1" } suspe 阅读全文
posted @ 2025-07-26 11:38
刘宏缔的架构森林
阅读(15)
评论(0)
推荐(0)
摘要:
一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val parentJob: Job var job1: Job? = null var job2: Job? = null var job3: Job? = nu 阅读全文
posted @ 2025-07-26 11:38
刘宏缔的架构森林
阅读(12)
评论(0)
推荐(0)
摘要:
一,代码: binding.button1.setOnClickListener { runBlocking { suspend fun download() { // 模拟下载任务 val time=3000L logX("模拟下载用时: = $time") delay(time) } val j 阅读全文
posted @ 2025-07-26 11:38
刘宏缔的架构森林
阅读(17)
评论(0)
推荐(0)
摘要:
一,代码: binding.button1.setOnClickListener { //先定义一个Int类的扩展函数 fun Int.square() = this * this //定义一个带接收器的lambda表达式 val squareFun: Int.()->Int = Int::squa 阅读全文
posted @ 2025-07-26 11:36
刘宏缔的架构森林
阅读(32)
评论(0)
推荐(0)
浙公网安备 33010602011771号