System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于ios异步编程的优化方法及系统技术方案_技高网

一种用于ios异步编程的优化方法及系统技术方案

技术编号:41205460 阅读:19 留言:0更新日期:2024-05-07 22:31
本发明专利技术涉及一种用于ios异步编程的优化方法及系统,属于并发编程领域,该方法实行一致和集中的错误处理机制,使得在异步操作出错时更容易捕获和处理异常;在单线程内实现多任务的切换,避免了传统多线程或多进程的开销和竞争条件;能够简化异步编程,允许开发者以类似于同步代码的方式编写异步代码,从而减少回调地狱和复杂的异步控制流程;体同时代码的结构更清晰、更直观,有助于提高代码的可读性、可维护性和可理解性;同时轻量级的执行单元,创建和切换的开销较小,适用于高并发的场景;允许以顺序的方式组合异步操作,以及在需要时进行条件执行,降低了逻辑复杂度,能够更充分地利用系统资源,减少不必要的上下文切换,从而提升性能。

【技术实现步骤摘要】

本专利技术属于并发编程领域,尤其涉及一种ios异步编程的优化方法及系统。


技术介绍

1、自2008年第一个ios版本发布至今,ios的异步编程方式有delegate、block、响应式等几种方式,其中基于block的异步编程回调是目前ios使用最广泛的异步编程方式,但是基于这种编程方式的缺点也有很多,主要包括:嵌套陷阱、错误处理复杂、容易忘记调用completion handler、条件执行变得非常困难、相互独立的调用组合返回结果变得非常困难、执行在错误的线程、线程卡顿、卡死和难以定位多线程崩溃等问题。

2、故需要一种具备简明,易用,清晰,高性能等特性的异步编程方案,以降低多线程引发的各种问题。


技术实现思路

1、本专利技术针对现有技术的问题,提供一种ios异步编程的优化方法及系统,所采用的技术方案为:

2、第一方面,一种用于ios异步编程的优化方法,包括:

3、s1,在线程中设置调度器,所述调度器用于所述线程下的实例调度;其中,所述实例调度包括暂停动作和恢复动作;

4、s2,根据所述暂停动作的关键字,通过所述关键字执行对应的实例调度;

5、s3,在线程中设置迭代器,通过生成器对象在循环中产生值;

6、s4,根据生成器函数,通过调用所述生成器对象返回一个生成器对象。

7、进一步的,s1中,所述暂停动作,通过使cpu中断系统当前执行操作,回到上一次中断位置。

8、进一步的,s1中,所述恢复动作,通过使cpu保持系统当前执行操作,回到上一次暂停位置。

9、进一步的,s2,根据所述暂停动作的关键字,通过所述关键字执行对应的实例调度,具体包括:

10、s21,根据所述暂停动作的关键字,通过生成器函数产生值的同时,执行所述暂停动作;其中,所述生成器函数包括惰性计算;

11、s22,根据所述暂停动作的关键字,保存当前函数的状态。

12、第二方面,本专利技术实施例提供一种用于ios异步编程的优化系统,其特征在于,用于实现实现如上述第一方面所述的方法,所述系统包括:

13、线程调度模块,用于在线程中设置调度器,所述调度器用于所述线程下的实例调度;其中,所述实例调度包括暂停动作和恢复动作;

14、调度执行模块,用于根据所述暂停动作的关键字,通过所述关键字执行对应的实例调度;

15、迭代处理模块,用于在线程中设置迭代器,通过生成器对象在循环中产生值;

16、循环产生模块,用于根据生成器函数,通过调用所述生成器对象返回一个生成器对象,所述返回的生成器对象在所述循环中产生值。

17、进一步的,所述线程调度模块包括暂停单元;

18、所述暂停单元,用于通过使cpu中断系统当前执行操作,回到上一次中断位置。

19、进一步的,所述线程调度模块还包括恢复单元;

20、所述恢复单元,用于所述实例调度执行恢复动作,通过使cpu保持系统当前执行操作,回到上一次暂停位置。

21、进一步的,所述调度执行模块具体包括:

22、第一执行单元,用于根据所述暂停动作的关键字,通过生成器函数产生值的同时,执行所述暂停动作;其中,所述生成器函数包括惰性计算;

23、第二执行单元,用于根据所述暂停动作的关键字,保存当前函数的状态。

24、第三方面,本专利技术实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时,实现如上述第一方面所述的方法。

25、第四方面,本专利技术实施例提供一种计算机存储介质,所述计算机可读取存储介质中存储有计算机程序,所述计算机程序被处理器执行时,用实现如第一方面所述的方法。

26、本专利技术有益效果如下:

27、本专利技术方法实行一致和集中的错误处理机制,使得在异步操作出错时更容易捕获和处理异常;在单线程内实现多任务的切换,避免了传统多线程或多进程的开销和竞争条件;能够简化异步编程,允许开发者以类似于同步代码的方式编写异步代码,从而减少回调地狱和复杂的异步控制流程;体同时代码的结构更清晰、更直观,有助于提高代码的可读性、可维护性和可理解性;

28、同时轻量级的执行单元,创建和切换的开销较小,适用于高并发的场景;允许以顺序的方式组合异步操作,以及在需要时进行条件执行,降低了逻辑复杂度,能够更充分地利用系统资源,减少不必要的上下文切换,从而提升性能。

本文档来自技高网...

【技术保护点】

1.一种用于ios异步编程的优化方法,其特征在于,包括:

2.根据权利要求1所述的一种用于ios异步编程的优化方法,其特征在于,S1中,所述暂停动作,通过使cpu中断系统当前执行操作,回到上一次中断位置。

3.根据权利要求2所述的一种用于ios异步编程的优化方法,其特征在于,S1中,所述恢复动作,通过使cpu保持系统当前执行操作,回到上一次暂停位置。

4.根据权利要求3所述的一种用于ios异步编程的优化方法,其特征在于,S2,根据所述暂停动作的关键字,通过所述关键字执行对应的实例调度,具体包括:

5.一种用于ios异步编程的优化系统,其特征在于,用于实现权利要求1至4任一项所述的用于ios异步编程的优化系统,所述系统包括:

6.根据权利要求5所述的一种用于ios异步编程的优化系统,其特征在于,所述线程调度模块包括暂停单元;

7.根据权利要求6所述的一种用于ios异步编程的优化系统,其特征在于,所述线程调度模块还包括恢复单元;

8.根据权利要求7所述的一种用于ios异步编程的优化系统,其特征在于,所述调度执行模块具体包括:

9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1-4中任意一项所述的一种用于ios异步编程的优化方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1-4中任意一项所述的一种用于ios异步编程的优化方法。

...

【技术特征摘要】

1.一种用于ios异步编程的优化方法,其特征在于,包括:

2.根据权利要求1所述的一种用于ios异步编程的优化方法,其特征在于,s1中,所述暂停动作,通过使cpu中断系统当前执行操作,回到上一次中断位置。

3.根据权利要求2所述的一种用于ios异步编程的优化方法,其特征在于,s1中,所述恢复动作,通过使cpu保持系统当前执行操作,回到上一次暂停位置。

4.根据权利要求3所述的一种用于ios异步编程的优化方法,其特征在于,s2,根据所述暂停动作的关键字,通过所述关键字执行对应的实例调度,具体包括:

5.一种用于ios异步编程的优化系统,其特征在于,用于实现权利要求1至4任一项所述的用于ios异步编程的优化系统,所述系统包括:

6.根据权利要求5所述的一种用...

【专利技术属性】
技术研发人员:黄海艺崔远寿谭发蒙刘敬涛
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1