欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2018109007004
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-05-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种任务执行方法,其特征在于,所述方法包括:

在任务队列函数中增加保护参数,通过所述保护参数设置第一线程的目标任务的状态,所述目标任务的状态包括保护状态和非保护状态;

通过保护线程函数设置第二线程的状态,所述第二线程的状态包括保护状态和非保护状态;

创建异步调用参数结构对象,所述异步调用参数结构对象包括任务成员、保护字段和回调字段,其中,将所述目标任务赋值给所述任务成员,将所述保护参数赋值给所述保护字段,将回调变量赋值给所述回调字段,所述回调变量为所述第一线程中,对所述第一线程是否正在执行异步调用任务进行标记的变量;

通过所述任务队列函数将所述异步调用参数结构对象投递到所述第二线程;

基于所述保护字段和所述保护线程函数的参数对所述目标任务以及所述第二线程的状态进行识别;

若所述目标任务的状态以及所述第二线程的状态均为保护状态,则基于所述回调字段判断所述第一线程是否正在执行异步调用任务,并依据判断结果执行下述动作中的一种:当所述第一线程正在执行异步调用任务,则发出死锁警报;当所述第一线程不在执行异步调用任务,继续执行所述通过所述任务队列函数将所述异步调用参数结构对象投递到所述第二线程;

若所述目标任务以及所述第二线程的状态至少有一个为非保护状态,则在所述第二线程中基于所述任务成员执行所述目标任务。

2.根据权利要求1所述的方法,其特征在于,所述通过所述保护参数设第一线程的目标任务的状态,包括:通过设置所述保护参数为true,将所述任务队列函数的目标任务设置为保护状态;

通过设置所述保护参数为false,将所述任务队列函数的目标任务设置为非保护状态。

3.根据权利要求1所述的方法,其特征在于,所述通过保护线程函数设置第二线程的状态,包括:在所述第二线程的第一执行位置,将所述保护线程函数的参数标记为true,表示所述第二线程进入保护状态;

在所述第一执行位置之后的第二执行位置,将所述保护线程函数的参数标记为false,表示所述第二线程解除保护状态,进入非保护状态。

4.根据权利要求1所述的方法,其特征在于,在所述发出死锁警报之后,所述方法还包括:通过修改所述回调变量将所述第一线程标记为不在执行异步调用任务;

将修改后的所述回调变量赋值给所述异步调用参数结构对象中的所述回调字段,从而得到修改后的所述异步调用参数结构对象;

通过所述任务队列函数将修改后的所述异步调用参数结构对象投递到所述第二线程。

5.根据权利要求1所述的方法,其特征在于,所述基于所述回调字段判断所述第一线程是否正在执行异步调用任务,包括:若所述回调字段为true,则确定所述第一线程正在执行异步调用任务;

若所述回调字段为false,则确定所述第一线程不在执行异步调用任务。

6.根据权利要求1所述的方法,其特征在于,所述在所述第二线程中基于所述任务成员执行所述目标任务,包括:在所述第二线程中,通过异步调用例行程序函数基于所述任务成员执行所述目标任务,所述异步调用例行程序函数由所述任务队列函数投递到所述第二线程。

7.根据权利要求1-6任一项所述的方法,其特征在于,所述异步调用参数结构对象还包括事件成员和结果字段,其中,所述事件成员用于触发所述任务队列函数执行返回操作,所述结果字段用于记录所述目标任务的执行结果。

8.一种任务执行装置,其特征在于,所述装置包括:

第一设置单元,用于在任务队列函数中增加保护参数,通过所述保护参数设置第一线程的目标任务的状态,所述目标任务的状态包括保护状态和非保护状态;

第二设置单元,用于通过保护线程函数设置第二线程的状态,所述第二线程的状态包括保护状态和非保护状态;

创建单元,用于创建异步调用参数结构对象,所述异步调用参数结构对象包括任务成员、保护字段和回调字段,其中,将所述目标任务赋值给所述任务成员,将所述保护参数赋值给所述保护字段,将回调变量赋值给所述回调字段,所述回调变量为所述第一线程中,对所述第一线程是否正在执行异步调用任务进行标记的变量;

投递单元,用于通过所述任务队列函数将所述异步调用参数结构对象投递到所述第二线程;

识别单元,用于基于所述保护字段和所述保护线程函数的参数对所述目标任务以及所述第二线程的状态进行识别;

第一执行单元,用于若所述目标任务的状态以及所述第二线程的状态均为保护状态,则基于所述回调字段判断所述第一线程是否正在执行异步调用任务,并依据判断结果执行下述动作中的一种:当所述第一线程正在执行异步调用任务,则发出死锁警报;当所述第一线程不在执行异步调用任务,继续执行所述通过所述任务队列函数将所述异步调用参数结构对象投递到所述第二线程;

第二执行单元,用于若所述目标任务以及所述第二线程的状态至少有一个为非保护状态,则在所述第二线程中基于所述任务成员执行所述目标任务。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。

10.一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。