这门课解决什么问题
后端开发中,异步操作和并发编程是常见的技术挑战。Kotlin协程作为现代编程语言中的解决方案,能有效简化异步代码的编写,提升应用性能。本课程聚焦于Kotlin协程的核心概念与实践应用,通过系统化的教学,帮助学习者掌握如何用协程处理复杂的异步任务,优化系统资源利用率。课程针对的是希望在项目中实施高效并发逻辑的开发者,尤其适合那些从Java或其他语言转向Kotlin的开发者。
适合什么基础,学完能独立做什么
本课程假设学习者具备一定的编程基础,例如熟悉Java或Kotlin的语法,了解面向对象编程的概念。对于后端开发人员来说,了解基本的多线程和异步编程原理将更有助于学习。完成本课程后,学习者能够独立设计和实现基于协程的后端服务,包括处理网络请求、数据库交互、任务调度等。此外,学习者还可以利用协程来提升应用响应速度,改善用户体验。
资料怎么配合练习
课程资料包含了从基础到高级的练习题,涵盖了协程的创建、取消、异常处理、异步流等多个方面。建议先从课程前几章的实践练习开始,通过编写简单的协程程序来熟悉Kotlin的异步编程模型。随着课程的深入,可以尝试完成更复杂的任务,如开发模拟真实业务场景的后端模块。每一章节都配有总结和案例分析,帮助学习者巩固所学知识。资料中的源码示例是理解如何在实际项目中应用协程的关键,建议反复阅读并实践这些代码。最后,通过课程提供的综合项目案例,将所学知识融会贯通,完成一个完整的协程应用开发。
课程目录
课程目录69 集
- 1-协程基础与关键知识
- 001.0-先导视频.mp4
- 002.1.0-学协程有用吗.mp4
- 003.1.1-切线程:launch().mp4
- 004.1.2-自动切回来:挂起函数.mp4
- 005.1.3-Android 项目里协程代码的写法.mp4
- 006.1.4-withContext():手动切线程.mp4
- 007.1.5-自定义挂起函数.mp4
- 008.1.6-挂起函数的性能优势:从 withContext().mp4
- 009.1.7-消除魔法:挂起函数为什么不卡线程?.mp4
- 010.1.8-「轻量级线程」的本质:从 delay() 说起.mp4
- 011.1.9-结构化并发初探.mp4
- 012.1.10-并行协程的启动和交互.mp4
- 013.1.11-连接线程世界:和回调型 API 协作.mp4
- 014.1.12-回到线程世界:runBlocking().mp4
- 2-结构化并发
- 015.2.1-概念落地:「一个协程」到底指的是什么.mp4
- 016.2.2-父子协程,以及协程间的并行和等待.mp4
- 017.2.3-线程的强制结束:stop().mp4
- 018.2.4-线程的交互式结束:interrupt().mp4
- 019.2.5-协程的交互式取消:cancel().mp4
- 020.2.6-协程的结构化取消.mp4
- 021.2.7-不配合取消:NonCancellable.mp4
- 022.2.8-协程的结构化异常管理.mp4
- 023.2.9-Coroutine Exception Handle.mp4
- 024.2.10-异常的结构化管理的本质.mp4
- 025.2.11-async() 对异常的处理.mp4
- 026.2.12-Supervisor Job.mp4
- 3-CoroutineScope-Context
- 027.3.1-Coroutine Scope _ -Context.mp4
- 028.3.2-GlobalScope.mp4
- 029.3.3-从挂起函数里获取 Coroutine Context.mp4
- 030.3.4-coroutine Scope() 和 superv.mp4
- 031.3.5-再谈 withContext().mp4
- 032.3.6-Coroutine Name.mp4
- 033.3.7-Coroutine Context的加减和get().mp4
- 034.3.8-自定义 Coroutine Context.mp4
- 4-Channel和 Flow
- 035.4.1-Channel 和 Flow 简介与对比.mp4
- 036.4.2-用 produce() 来提供跨协程的事件流.mp4
- 037.4.3-Channel 的工作模式详解.mp4
- 038.4.4-Channel API 详解.mp4
- 039.4.5-actor():把 SendChannel 暴露出来.mp4
- 040.4.6-Flow 的功能定位.mp4
- 041.4.7-Flow 的工作原理和应用场景.mp4
- 042.4.8-Flow 的创建.mp4
- 043.4.9-Flow 的收集.mp4
- 044.4.10-filter() 系列操作符.mp4
- 045.4.11-distinct UntilChanged().mp4
- 046.4.12-自定义 Flow 操作符.mp4
- 047.4.13-timeout、sample、debounce().mp4
- 048.4.14-drop()、take() 系列操作符.mp4
- 049.4.15-map() 系列操作符.mp4
- 050.4.16-transform() 系列操作符.mp4
- 051.4.17-withIndex() 操作符.mp4
- 052.4.18-reduce()、fold() 系列操作符.mp4
- 053.4.19-onEach() 操作符.mp4
- 054.4.20-chunked() 操作符.mp4
- 055.4.21-try_catch 和 Flow 的异常可见性.mp4
- 056.4.22-catch() 操作符.mp4
- 057.4.23-retry() 和 retryWhen() 操作符.mp4
- 058.4.24-onStart() 等全流程监听系列操作符.mp4
- 059.4.25-flowOn() 操作符.mp4
- 060.4.26-buffer() 系列操作符.mp4
- 061.4.27-多个 Flow 的合并.mp4
- 062.4.29-SharedFlow 的效果和适用场景.mp4
- 063.4.30-shareIn() 操作符.mp4
- 064.4.31-Mutable Shared Flow.mp4
- 065.4.32-StateFlow.mp4
- 5-协作、互斥锁和共享变量
- 066.5.1-协程间的协作和等待.mp4
- 067.5.2-select():先到先得.mp4
- 068.5.3-互斥锁和共享变量.mp4
- 069.5.4-ThreadLocal.mp4






