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

摘要:

权利要求书:

1.一种任务执行方法,其特征在于,所述方法包括:在第一线程中,通过任务队列函数调用线程打开函数获取第二线程的句柄;

通过所述任务队列函数创建异步调用参数结构对象,所述异步调用参数结构对象包括任务成员和事件成员;

将所述第一线程的目标任务的参数赋值给所述任务成员;

创建事件对象,所述创建的事件对象的初始状态设置为无信号;

将所述事件对象赋值给所述事件成员;

通过所述任务队列函数根据所述第二线程的句柄将所述异步调用参数结构对象和异步调用例行程序函数投递到所述第二线程,所述异步调用例行程序函数用于在所述第二线程中基于所述任务成员执行所述目标任务,并在所述目标任务执行完成后,将所述事件成员中的事件对象设置为有信号;

通过所述任务队列函数调用等待函数来检测所述事件对象的信号状态;

若所述事件对象为有信号,确定所述目标任务已完成,通过所述任务队列函数执行返回操作;

若在预置时间内所述事件对象为无信号,确定所述目标任务未完成,通过所述任务队列函数再次调用所述等待函数检测所述事件对象的信号状态,直到所述目标任务完成;

所述通过所述任务队列函数按照所述第二线程的句柄将所述异步调用参数结构对象和异步调用例行程序函数投递到所述第二线程,包括:通过所述任务队列函数调用排队函数按照所述第二线程的句柄将所述异步调用参数结构对象和异步调用例行程序函数投递到所述第二线程,所述排队函数包括三个参数,第一个参数设置为所述异步调用例行程序函数,第二个参数设置为所述第二线程的句柄,第三个参数设置为所述异步调用参数结构对象。

2.根据权利要求1所述的方法,其特征在于,在所述通过所述任务队列函数调用等待函数来检测所述事件对象的信号状态之前,还包括:将所述等待函数中表示通知状态的参数设置为已通知状态,以使得所述第一线程处于可唤醒状态。

3.根据权利要求2所述的方法,所述将所述等待函数中表示通知状态的参数设置为已通知状态,包括:

将所述等待函数的最后一个参数设置为true,所述最后一个参数为表示通知状态的参数。

4.根 据权 利 要 求 1 所述 的 方 法 ,其特 征 在 于 ,所 述等 待 函 数 包 括WaitForSingleObjectEx函数或SleepEx函数。

5.根据权利要求4所述的方法,其特征在于,所述等待函数为WaitForSingleObjectEx函数,所述通过所述任务队列函数调用等待函数来检测所述事件对象的信号状态,包括:根据所述WaitForSingleObjectEx函数的返回值检测所述事件对象的信号状态;

若所述WaitForSingleObjectEx函数的返回值为WAIT_OBJECT_0,确定所述事件对象为有信号;

若所述WaitForSingleObjectEx函数的返回值为WAIT_IO_COMPLETION,确定所述事件对象为无信号。

6.根据权利要求1‑5任一项所述的方法,所述通过所述任务队列函数创建异步调用参数结构对象,包括:

通过所述任务队列函数调用new操作符来创建异步调用参数结构对象。

7.一种任务执行装置,其特征在于,所述装置包括:获取单元,用于在第一线程中,通过任务队列函数调用线程打开函数获取第二线程的句柄;

创建单元,用于通过所述任务队列函数创建异步调用参数结构对象,所述异步调用参数结构对象包括任务成员和事件成员;

赋值单元,用于将所述第一线程的目标任务的参数赋值给所述任务成员;

所述创建单元还用于创建事件对象,所述创建的事件对象的初始状态设置为无信号;

所述赋值单元还用于将所述事件对象赋值给所述事件成员;

投递单元,用于通过所述任务队列函数根据所述第二线程的句柄将所述异步调用参数结构对象和异步调用例行程序函数投递到所述第二线程,所述异步调用例行程序函数用于在所述第二线程中基于所述任务成员执行所述目标任务,并在所述目标任务执行完成后,将所述事件成员中的事件对象设置为有信号;

检测单元,用于通过所述任务队列函数调用等待函数来检测所述事件对象的信号状态;

返回单元,用于若所述事件对象为有信号,确定所述目标任务已完成,通过所述任务队列函数执行返回操作;

所述检测单元还用于若在预置时间内所述事件对象为无信号,确定所述目标任务未完成,通过所述任务队列函数再次调用所述等待函数检测所述事件对象的信号状态,直到所述目标任务完成;

所述投递单元还用于:通过所述任务队列函数调用排队函数按照所述第二线程的句柄将所述异步调用参数结构对象和异步调用例行程序函数投递到所述第二线程,所述排队函数包括三个参数,第一个参数设置为所述异步调用例行程序函数,第二个参数设置为所述第二线程的句柄,第三个参数设置为所述异步调用参数结构对象。

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

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

6 任一项权利要求所述的方法。