Kotlin 协程作为 Android 异步编程的革命性解决方案,确实正在改变开发者处理并发任务的方式。以下是从入门到实战的系统性指南,帮助您掌握这项关键技术:
一、协程核心概念解析
-
轻量级线程:
- 协程比线程轻量 1000 倍以上(单个线程可运行数万个协程)
- 示例:启动 100,000 个协程仅需约 2.3MB 内存
repeat(100_000) { launch { delay(1000L) print(".") } }
-
结构化并发:
val parentJob = CoroutineScope(Dispatchers.Main).launch { val child1 = launch { /* 子任务1 */ } val child2 = launch { /* 子任务2 */ } } parentJob.cancel() // 自动取消所有子协程
-
挂起函数(Suspend Function):
suspend fun fetchUserData(): User { return withContext(Dispatchers.IO) { // 模拟网络请求 delay(1000) User(name = "John", age = 30)