[发明专利]向UI线程投递回调函数的方法、装置及客户端有效
| 申请号: | 201710789011.6 | 申请日: | 2017-09-05 |
| 公开(公告)号: | CN107562540B | 公开(公告)日: | 2021-03-12 |
| 发明(设计)人: | 黄浩;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06F9/448;G06F9/451 |
| 代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 王术兰 |
| 地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | ui 线程 投递 调函 方法 装置 客户端 | ||
1.一种向UI线程投递回调函数的方法,其特征在于,所述向UI线程投递回调函数的方法包括:
将运行于工作线程中的回调函数封装成回调对象并添加至任务队列中等待执行;
向预设的运行于UI线程的窗口过程函数发送来自所述工作线程的消息;
当操作系统接收到所述消息后,依据所述消息调用所述窗口过程函数,并依据所述窗口过程函数调用所述回调对象,以使所述回调函数运行于所述UI线程中。
2.如权利要求1所述的向UI线程投递回调函数的方法,其特征在于,所述向预设的运行于UI线程的窗口过程函数发送来自工作线程的消息的步骤之前包括:
将所述消息用消息标识符进行标识。
3.如权利要求2所述的向UI线程投递回调函数的方法,其特征在于,所述当操作系统接收到所述消息后,依据所述消息调用所述窗口过程函数的步骤包括:
当所述操作系统接收到的所述消息具有所述消息标识符时,调用所述窗口过程函数。
4.如权利要求2所述的向UI线程投递回调函数的方法,其特征在于,所述向UI线程投递回调函数的方法还包括:
当所述操作系统接收到的所述消息没有所述消息标识符时,调用默认的消息处理接口对所述消息进行处理。
5.如权利要求1所述的向UI线程投递回调函数的方法,其特征在于,所述向UI线程投递回调函数的方法还包括:
注册窗口类,其中,所述窗口类与所述窗口过程函数关联;
依据注册的所述窗口类创建隐藏窗口。
6.一种向UI线程投递回调函数的装置,其特征在于,所述向UI线程投递回调函数的装置包括:
封装模块,用于将运行于工作线程中的回调函数封装成回调对象并添加至任务队列中等待执行;
消息发送模块,用于向预设的运行于UI线程的窗口过程函数发送来自所述工作线程的消息;
调用模块,用于当操作系统接收到所述消息后,依据所述消息调用所述窗口过程函数,并依据所述窗口过程函数调用所述回调对象,以使所述回调函数运行于所述UI线程中。
7.如权利要求6所述的向UI线程投递回调函数的装置,其特征在于,所述向UI线程投递回调函数的装置还包括:
标识模块,用于将所述消息用消息标识符进行标识。
8.如权利要求7所述的向UI线程投递回调函数的装置,其特征在于,所述调用模块用于当所述操作系统接收到的所述消息具有所述消息标识符时,调用所述窗口过程函数。
9.如权利要求6所述的向UI线程投递回调函数的装置,其特征在于,所述向UI线程投递回调函数的装置还包括:
窗口类注册模块,用于注册窗口类,其中,所述窗口类与所述窗口过程函数关联;
窗口创建模块,用于依据注册的所述窗口类创建隐藏窗口。
10.一种客户端,其特征在于,所述客户端包括:
存储器;
处理器;及
向UI线程投递回调函数的装置,所述向UI线程投递回调函数的装置存储在所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述向UI线程投递回调函数的装置包括:
封装模块,用于将运行于工作线程中的回调函数封装成回调对象并添加至任务队列中等待执行;
发送模块,用于向预设的运行于UI线程的窗口过程函数发送来自所述工作线程的消息;
调用模块,用于当操作系统接收到所述消息后,依据所述消息调用所述窗口过程函数,并依据所述窗口过程函数调用所述回调对象,以使所述回调函数运行于所述UI线程中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710789011.6/1.html,转载请声明来源钻瓜专利网。





