刚刚,阿里开源 iOS 协程开发框架 coobjc!( 五 )
提供了对NSURLConnection和NSURLSession的协程化扩展 , 用于解决网络异步请求过程中的异步调用问题 。
提供了对NSKeyedArchieve、NSJSONSerialization等解析库的扩展 , 用于解决解析过程中的异步调用问题 。
coobjc设计
最底层是协程内核 , 包含了栈切换的管理、协程调度器的实现、协程间通信channel的实现等 。
中间层是基于协程的操作符的包装 , 目前支持async/await、Generator、Actor等编程模型 。
最上层是对系统库的协程化扩展 , 目前基本上覆盖了Foundation和UIKit的所有IO和耗时方法 。
核心实现原理
协程的核心思想是控制调用栈的主动让出和恢复 。 一般的协程实现都会提供两个重要的操作:
-
Yield:是让出cpu的意思 , 它会中断当前的执行 , 回到上一次Resume的地方 。
推荐阅读
- 阿修罗|阴阳师:超鬼王后日谈,数值怪全面开花,活动一年一次刚刚好
- 电子竞技|S11刚刚结束,中日韩亚洲对抗赛拉开序幕,参赛阵容豪华
- kpl秋季赛|KPL秋季赛XYG.羲和细节单杀伽罗,大仙:刚刚卡住是我的错,稳住!
- 传奇世界|传奇世界:家族公会情节
- 逆水寒|不愧是网易游戏“亲儿子”!刚刚首测,就豪掷百万拉着玩家去度假
- 星际争霸|虫族起源资料 我们熟知的智慧虫群 刚刚诞生不到70年
- 云缨|新英雄云缨刚刚登陆,三大克星已诞生,张良有控制,他们能反秒
- lpl|LPL再次迎来“重量级上单”!刚刚加冕总冠军,就立志成为LPL选手
- 原神|原神:优菈PV刚刚上线,爱打喷嚏的她就被国内外网友玩坏了
- 原神|原神:钟离一命不够用,二命刚刚好,满命没必要?