上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 169 下一页
摘要: 一,四个特点: 终端操作才会执行整个操作链: 如果不调用终端操作(如 toList、forEach),则不会执行任何操作;Sequence 通常是一次性的: 终端操作后不能再次使用,避免重复使用同一 Sequence;不缓存结果: Sequence 每次遍历都会重新计算,若需复用结果,应先转换为集合 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(7) 评论(0) 推荐(0)
摘要: 一,代码: //处理按钮点击事件 binding.button1.setOnClickListener { //从现有集合转换 val list = listOf(1, 2, 3) val seq1 = list.asSequence() println("seq1") seq1.forEach { 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(10) 评论(0) 推荐(0)
摘要: 一,两种超时处理方式 使用 withTimeout 或 withTimeoutOrNull 可以指定 Job 任务的超时时间。两者的区别在于: withTimeout 函数会在超时后抛出一个超时异常 TimeoutCancellationException withTimeoutOrNull 函数会 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(19) 评论(0) 推荐(0)
摘要: 一,例子:用cancel()取消job 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val job = launch { try { println("try start") delay(1000) printl 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(9) 评论(0) 推荐(0)
摘要: 一,例子: 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val job = launch { try { println("try start") delay(1000) println("try end") } 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(15) 评论(0) 推荐(0)
摘要: 一,例子:不用yield()挂起当前任务 说明:yield在协程中就可以简单的理解为,挂起当前任务(注意是任务),释放此线程的monitor让其他正在等待的任务公平的竞争,去获得执行权。 代码: 定义线程和函数 val singleDispatcher = newSingleThreadContex 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(21) 评论(0) 推荐(0)
摘要: 一,常见的协程作用域 协程的作用域用于统一管理协程,包括跟踪所有协程和取消所有协程。 常见的协程作用域有: GlobalScope:它是一种顶级协程。生命周期是进程级别的,只要应用进程还在运行,即使 Activity 或 Fragment 被销毁,此作用域下的协程仍然会执行。 MainScope:只 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(55) 评论(0) 推荐(0)
摘要: 一,例子:协程不能被取消: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val scopeJob = Job() val scope = CoroutineScope(scopeJob) val coroutineJob 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(18) 评论(0) 推荐(0)
摘要: 一,例子:cpu密集型任务会使cancel()无效 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val startTime = System.currentTimeMillis() val job = launc 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(11) 评论(0) 推荐(0)
摘要: 一,两者的相同点和不同点: 共同点 首先,我们来看一下 coroutineScope 和 supervisorScope 的共同特性: 作用域嵌套:两者均可以嵌套在其他作用域中。 结构化并发:它们都强制执行结构化并发,即作用域会等待所有启动的子协程完成之后才会完成自身。 取消传播:从父协程向子协程传 阅读全文
posted @ 2025-08-09 13:41 刘宏缔的架构森林 阅读(21) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 169 下一页