首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
Kotlin协程
2025-12-12
如何避免在Kotlin协程中阻塞主线程?
避免阻塞主线程的关键策略:使用Dispatchers.Main执行UI操作耗时操作切换到Dispatchers.IO或Dispatchers.Default使用withContext切换协程上下文避免在主线程调用阻塞函数(如Thread.sleep())使用挂起函数替代阻塞操作
2025年-12月-12日
5 阅读
0 评论
Kotlin协程
2025-12-12
设计一个基于协程的线程安全缓存系统,支持过期时间和最大容量限制
实现要点:使用 Mutex 保护共享状态,避免并发修改冲突通过 CoroutineScope 管理后台清理协程的生命周期结合 LinkedHashMap 实现 LRU 淘汰策略使用 Delay 和 Channel 实现高效过期清理处理协程取消时的资源释放
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-12
如何启动和取消一个Kotlin协程?
启动协程的常用方式:使用 launch 启动不返回结果的协程使用 async 启动需要返回结果的协程取消协程的关键操作:调用 Job.cancel() 取消单个协程通过 CoroutineScope.cancel() 取消作用域内所有协程
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-12
解释Kotlin协程中的挂起函数(suspend function)及其与普通函数的区别
挂起函数是Kotlin协程的核心概念:使用suspend关键字声明,只能在协程或其他挂起函数中调用执行时不会阻塞当前线程,可自动挂起和恢复普通函数会阻塞调用线程,而挂起函数通过状态机机制实现非阻塞
2025年-12月-12日
13 阅读
0 评论
Kotlin协程
2025-12-12
实现并发网络请求并处理结果聚合
实现要点:使用coroutineScope创建结构化并发作用域通过async启动并发任务使用awaitAll()等待所有结果异常处理需结合try-catch和CoroutineExceptionHandler避免使用GlobalScope防止内存泄漏
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-12
设计一个支持任务依赖、超时控制、错误传播和资源限制的协程任务处理器
实现要点:使用 CoroutineScope 实现结构化并发生命周期管理通过 SupervisorJob 和自定义 CoroutineExceptionHandler 处理错误使用 Semaphore 或 withContext(Dispatchers.IO.limitedParallelism(N)) 限制并发资源利用 async/await 和 Deferred 处理任务依赖关系通过 withTimeout 和 withTimeoutOrNull 实现超时控制使用 Mutex 保护共享状态
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-12
设计一个支持超时和重试机制的并发数据加载器
实现要点:使用withTimeoutOrNull处理单次请求超时结合retry和指数退避策略实现重试通过coroutineScope保证结构化并发使用SupervisorJob防止单个子协程失败影响整体正确管理资源(如关闭数据库连接)
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-12
设计一个基于协程的并发安全缓存系统
实现要点:使用 Mutex 保护共享状态避免竞态条件通过 async 启动并发任务并缓存 Deferred 对象实现缓存击穿防护:相同 key 的请求共享同一异步结果添加 TTL 机制和后台刷新逻辑使用 SupervisorJob 隔离异常避免全局崩溃通过 CoroutineStart.LAZY 延迟计算优化资源
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-12
实现一个并发数据加载器并处理异常
实现要点:使用 coroutineScope 创建独立作用域管理并发任务通过 async 启动并发子协程使用 SupervisorJob 实现子协程异常隔离在父协程中集中处理 CancellationException 和常规异常通过 awaitAll() 等待所有子协程完成
2025年-12月-12日
4 阅读
0 评论
Kotlin协程
2025-12-11
设计支持依赖管理、超时控制、错误隔离和资源限制的协程任务调度器
实现要点:使用CoroutineScope+SupervisorJob实现错误隔离通过async/await处理任务依赖关系采用withTimeoutOrNull实现超时控制使用Semaphore进行并发资源限制结合CoroutineExceptionHandler定制错误处理通过select实现优先任务抢占
2025年-12月-11日
4 阅读
0 评论
Kotlin协程
1
2