资讯详情

第090篇 结构化并发与作用域:生命周期安全的根基

📅 2026/10/6 16:13:35 | 华诺云谱 👁 阅读
第090篇 结构化并发与作用域:生命周期安全的根基
结构化并发是协程相比回调的根本优势,也是最能体现"你真的理解了协程"的一题。它回答的是三个问题:任务属于谁(作用域树)、失败怎么办(异常传播规则)、什么时候结束(取消与 join)。面试常要求现场手写一个"并发执行多个任务、任一失败则整体取消"的例子,写不出来就说明只会用 API。先把结论放在前面:结构化并发的三条规则——①作用域树:launch/async创建的协程是当前作用域的子节点,父结束(完成或取消)则子节点逐个取消;②异常传播:子协程抛出的异常会取消父协程,进而取消所有兄弟;async的异常被包装在Deferred里,await()时才抛出;③取消是协作式的:只有挂起点(delay、await、挂起函数)会响应取消,阻塞代码不会。所以coroutineScope { }等所有子协程结束才返回,supervisorScope { }则子协程失败不影响兄弟。机制拆解看coroutineScope与supervisorScope的差别最直观。coroutineScope内部任意子协程失败 → 立刻取消作用域内所有其他子协程
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑