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中任一项所述的线程间的交互方法的步骤。