利索能及
我要发布
收藏
专利号: 2018100243745
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种线程间的交互方法,其特征在于,包括:

在用户界面UI线程启动时调用实例对象创建函数创建UI任务队列类的实例对象,其中,所述UI任务队列类继承图形用户界面应用程序开发框架QT中的QObjec类,所述UI任务队列类中编写有所述实例对象创建函数和任务投递函数;

通过所述QObjec类中的连接函数将任务信号和任务槽函数连接,所述任务槽函数在所述UI线程中执行;

在调用所述任务投递函数将其他线程的任务放入任务队列时,发送所述任务信号,触发所述任务槽函数被调用;

在所述任务槽函数被调用时,从所述任务队列中获取任务,在所述UI线程中执行获取的任务,直至所述任务队列中的任务全部被执行。

2.如权利要求1所述的方法,其特征在于,所述任务投递函数的参数为std::function类型,在所述调用所述任务投递函数将其他线程的任务放入任务队列之前,所述方法还包括:将放入所述任务队列的任务封装成所述std::function类型。

3.如权利要求1所述的方法,其特征在于,在所述调用所述任务投递函数将其他线程的任务放入任务队列之前,所述方法还包括:对所述任务队列进行加锁。

4.如权利要求1所述的方法,其特征在于,在从所述任务队列中获取任务之前,所述方法还包括:对所述任务队列进行加锁。

5.一种电子设备,其特征在于,包括:

创建单元,用于在用户界面UI线程启动时调用实例对象创建函数创建UI任务队列类的实例对象,其中,所述UI任务队列类继承图形用户界面应用程序开发框架QT中的QObjec类,所述UI任务队列类中编写有所述实例对象创建函数和任务投递函数;

连接单元,用于通过所述QObjec类中的连接函数将任务信号和任务槽函数连接,所述任务槽函数在所述UI线程中执行;

发送单元,用于在调用所述任务投递函数将其他线程的任务放入任务队列时,发送所述任务信号,触发所述任务槽函数被调用;

执行单元,用于在所述任务槽函数被调用时,从所述任务队列中获取任务,在所述UI线程中执行获取的任务,直至所述任务队列中的任务全部被执行。

6.如权利要求5所述的电子设备,其特征在于,所述任务投递函数的参数为std::function类型,所述电子设备还包括:

封装单元,用于在调用所述任务投递函数将其他线程的任务放入任务队列之前,将放入所述任务队列的任务封装成所述std::function类型。

7.如权利要求5所述的电子设备,其特征在于,所述电子设备还包括:第一加锁单元,用于在调用所述任务投递函数将其他线程的任务放入任务队列之前,对所述任务队列进行加锁。

8.如权利要求5所述的电子设备,其特征在于,所述电子设备还包括:第二加锁单元,用于在从所述任务队列中获取任务之前,对所述任务队列进行加锁。

9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-4中任一项所述的线程间的交互方法的步骤。

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