异步任务取消方法、装置及电子设备的制造方法_2

文档序号:9261265阅读:来源:国知局
对其进行执行操作的异步任务。
[0040] 步骤206,若该待执行对象对应的异步任务在该待执行对象失效后需要取消,则通 过反射确定目标任务;
[0041]其中,该目标任务即为该待执行对象对应的异步任务;
[0042]通过反射确定目标任务时,电子设备可W获取一异步任务的目标对象的类型,该 目标对象中包含有至少一个成员,每个成员表征该异步任务对应的一个可执行对象,该目 标对象的类型中包含该至少一个成员的属性;电子设备根据该目标对象的类型确定该目标 对象中属性为对外可见的实例成员,并检测该实例成员的值与该待执行对象是否匹配;若 该实例成员的值与该待执行对象匹配,则电子设备确定该异步任务为目标任务。
[0043] 电子设备通过反射确定目标任务的代码可W如下:
[0044]
[0045] 其中,W电子设备在生成异步任务时,将需要异步执行的代码集封装成一个 action对象为例,该action对象即代表生成的异步任务,同时创一个定时器(timer),将代 表异步任务的action对象和创建的timer绑定成--对应的关系,并指定timer的触发时 间,同时将该个action对象添加到异步任务队列中。当timer触发时,执行与定时器绑定 的action对象。
[0046] 当检测到对应有异步任务的待执行对象失效时,电子设备通过反射机制从异步任 务队列中的各个action对象的源码中获取Target(目标)对象(一个action对象中包含有 一个Target对象,一个Target对象中包含有至少一个成员,每个成员表征与该action对 象对应的一个可执行对象);电子设备提取各个action对象对应的Target对象的类型,其 中,一个Target对象的类型中包含有该Target对象包含的各个成员的属性;电子设备进一 步根据各个Target对象的类型确定各个Target对象中包含的,属性为化blic(对外可见) 的Instance(实例)成员;最后,电子设备将提取到的各个实例成员的值与待执行对象进行 循环比对,若某一个实例成员的值与该待执行对象匹配,则将该实例成员对应的action对 象确定为目标任务。
[0047] 步骤208,对该目标任务执行取消操作。
[0048] 具体的,电子设备可W通过释放该目标任务对应的定时器来取消该目标任务,并 将该目标任务从异步任务队列中删除。
[0049] 电子设备检测是否存在该目标任务对应的观察者;若检测结果为存在该观察者, 则向该观察者发送取消通知,该取消通知用于指示该目标任务已被取消。
[0050] 此外,在电子设备中,每个异步任务还可能有一直多个观察者,该些观察者可W根 据异步任务的执行情况进行相应的操作,对此,电子设备在对目标任务执行取消操作后,可 W检测该目标任务是否存在对应的观察者,若存在,则向该目标任务对象的各个观察者发 送指示该目标任务已被取消的通知,W通知各个观察者取消对该目标任务的观察。
[0051] 综上所述,本发明实施例提供的异步任务取消方法,通过在检测到待执行对象失 效后,通过反射确定该待执行对象对应的目标任务,并对该目标任务执行取消操作,可W在 发现有可执行任务失效时通过反射直接查找对应的异步任务,无需在异步任务生成时建立 每个异步任务和与之对应的可执行对象之间的对应关系,解决了现有技术中在每个异步任 务生成时都需要记录其与可执行对象之间的对应关系,从而影响系统性能的问题,达到提 高系统性能的效果。
[0052] 其次,本发明实施例提供的异步任务取消方法,在通过反射确定该待执行对象对 应的目标任务之前,首先检测该待执行对象对应的异步任务是否需要取消,若是,则执行通 过反射确定该待执行对象对应的目标任务的步骤,避免对不需要取消的异步任务进行取消 操作,节约系统资源,进一步提高系统性能。
[0053] 请参考图3,其示出了本发明一个实施例提供的异步任务取消装置的装置结构图。 该异步任务取消装置可W用于在电子设备中对已失效的待执行对象对应的异步任务进行 取消操作。该电子设备可W是智能手机、平板电脑或者电子书阅读器等移动设备,也可W是 个人计算机或者大型服务器等非移动设备。该异步任务取消装置可W包括:
[0054] 第一检测模块301,用于检测待执行对象是否失效,所述待执行对象为对应有异步 任务的可执行对象;
[0055] 确定模块302,用于若所述第一检测模块301的检测结果为所述待执行对象失效, 则通过反射确定目标任务,所述目标任务为所述待执行对象对应的异步任务;
[0056] 任务取消模块303,用于对所述目标任务执行取消操作。
[0057] 综上所述,本发明实施例提供的异步任务取消装置,通过在检测到待执行对象失 效后,通过反射确定该待执行对象对应的目标任务,并对该目标任务执行取消操作,可W在 发现有可执行任务失效时通过反射直接查找对应的异步任务,无需在异步任务生成时建立 每个异步任务和与之对应的可执行对象之间的对应关系,解决了现有技术中在每个异步任 务生成时都需要记录其与可执行对象之间的对应关系,从而影响系统性能的问题,达到提 高系统性能的效果。
[0058] 请参考图4,其示出了本发明一个实施例提供的异步任务取消装置的装置结构图。 该异步任务取消装置可W用于在电子设备中对已失效的待执行对象对应的异步任务进行 取消操作。该电子设备可W是智能手机、平板电脑或者电子书阅读器等移动设备,也可W是 个人计算机或者大型服务器等非移动设备。该异步任务取消装置可W包括:
[0059] 第一检测模块401,用于检测待执行对象是否失效,所述待执行对象为对应有异步 任务的可执行对象;
[0060] 确定模块402,用于若所述第一检测模块401的检测结果为所述待执行对象失效, 则通过反射确定目标任务,所述目标任务为所述待执行对象对应的异步任务;
[0061] 任务取消模块403,用于对所述目标任务执行取消操作。
[0062] 所述装置还包括:
[0063] 第二检测模块404,用于在所述确定模块402通过反射确定目标任务之前,检测所 述待执行对象对应的异步任务在所述待执行对象失效后是否需要取消;
[0064] 所述确定模块402,用于若所述第二检测模块404的检测结果为所述待执行对象 对应的异步任务在所述待执行对象失效后需要取消,则执行通过反射确定所述目标任务的 步骤。
[0065] 所述第二检测模块404,包括:
[0066] 查询单元404a,用于从预先设置的所述待执行对象与所述待执行对象的取消标识 之间的对应关系中查询所述待执行对象的取消标识,所述待执行对象的取消标识用于指示 所述待执行对象对应的异步任务在所述待执行对象失效后是否需要取消;
[0067] 第一检测单元404b,用于根据所述待执行对象的取消标识检测所述待执行对象对 应的异步任务在所述待执行对象失效后是否需要取消。
[0068] 所述确定模块402,包括:
[0069] 获取单元402a,用于获取一异步任务中的目标对象的类型,所述目标对象中包含 有至少一个成员,每个所述成员表征所述异步任务对应的一个可执行对象,所述目标对象 的类型中包含所述至少一个成员的属性;
[0070] 第一确定单元40化,用于根据所述目标对象的类型确定所述目标对象中属性为对 外可见的实例成员;
[0071] 第二检测单元402c,用于检测所述实例成员的值与所述待执行对象是否匹配;
[0072] 第二确定单元402d,用于若所述第二检测单元402c的检测结果为所述实例成员 的值与所述待执行对象匹配,则确定所述异步任务为所述目标任务。
[0073] 所述任务取消模块403,包括:
[0074] 释放单元403a,用于释放所述目标任务对应的定时器;
[00巧]删除单元403b,用于将所述目标任务从异步任务队列中删除。
[0076] 所述装置还包括:
[0077] 第H检测模块405,用于检测是否存在所述目标任务对应的观察者;
[0078] 通知模块406,用于若所述第H检测模块405的检测结果为存在所述观察者,则向 所述观察者发送取消通知,所述取消通知用于指示所述目标任务已被取消。
[0
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1