[发明专利]一种通过线程池防止VOIP话机中任务阻塞的方法有效
申请号: | 201310077961.8 | 申请日: | 2013-03-12 |
公开(公告)号: | CN103179294A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 石雨来 | 申请(专利权)人: | 厦门亿联网络技术股份有限公司 |
主分类号: | H04M7/00 | 分类号: | H04M7/00 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
地址: | 361009 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 线程 防止 voip 话机 任务 阻塞 方法 | ||
技术领域
本发明涉及通讯设备的技术领域,尤其涉及一种通过线程池防止VOIP话机中任务阻塞的方法。
背景技术
网络电话又称为VOIP话机,是通过互联网直接拨打对方的固定电话和手机,包括国内长途和国际长途,而且资费是传统电话费用的10%到20%,宏观上讲可以分为软件电话和硬件电话。软件电话就是在电脑上下载软件, 然后购买网络电话卡,然后通过耳麦实现和对方(固话或手机)进行通话; 硬件电话比较适合公司、话吧等使用,首先要一个语音网关,网关一边接到路由器上,另一边接到普通的话机上,然后普通话机即可直接通过网络自由呼出了。而现有中的VOIP话机中会存在着许多要处理的任务,该任务中有常规的任务,也有比较重要的任务,然后VOIP话机中往往只有一个主线程,这样在主线程处理任务不及时,就会导致话机中比较重要的任务无法及时的处理,这样客户的体验效果就十分差,比如用户要进行下载远程联系人文件或搜索联系人等一些子任务时,由于此时话机的主线程比较繁忙无法及时处理,这样就无法远程显示联系人。
发明内容
本发明要解决的技术问题,在于提供一种通过线程池防止VOIP话机中任务阻塞的方法,解决了由于话机中任务太多,一个主线程处理不过来导致话机中任务阻塞的问题。
本发明是这样实现的:一种通过线程池防止VOIP话机中任务阻塞的方法,包括如下步骤:
步骤1、VOIP话机启动构建一线程池,在该线程池中创建预先设定数量的线程,每个线程都有一任务队列,用于任务的排队;所述线程包括通用线程和专用线程;该通用线程为话机中常规任务均能共用的线程;该专用线程为话机中重要任务所用的线程,用于防止重要任务的阻塞;
步骤2、定义一任务虚基类,该任务虚基类包括:执行任务、读任务、写任务的方法,以及能保存话机中调用类的指针;所述话机中每个任务均继承自该任务虚基类;
步骤3、VOIP话机使用时,创建所需的任务,将创建的各任务放入所述线程池中,线程池扔给专用线程或任意一空闲的通用线程,如果无空闲的通用线程,则随机扔入任意一通用线程的任务队列中进行排队;当任意一线程执行完任务之后,通过回调函数进行回调,在话机的主线程中完成收尾工作;所述回调函数为使用线程池执行任务的类,以实现任务执行完后回调。。
进一步地,所述常规任务包括:各种远程地址簿下载任务,铃声文件下载任务,文件读写任务或搜索任务。
进一步地,所述重要任务包括:LDAP联系人获取任务或本地联系人搜索任务。
本发明具有如下优点:
1、本发明的VOIP话机的主线程在运行的同时,可以异步运行某些特定任务,也不影响主线程运行。
2、通过线程池中专用线程的应用,不阻塞特定的重要任务。
3、使用简单,只需要继承一任务虚基类,实现回调函数即可。
4、结构清晰,实现简单,利于扩展,任意一特定任务只需继承任务虚基类,实现其特定的方法。
附图说明
图1为本发明的方法流程示意图。
具体实施方式
请参阅图1所示,本发明为一种通过线程池防止VOIP话机中任务阻塞的方法,包括如下步骤:
步骤1、VOIP话机启动构建一线程池,在该线程池中创建预先设定数量的线程,每个线程都有一任务队列,用于任务的排队;所述线程包括通用线程和专用线程;该通用线程为话机中常规任务均能共用的线程;该专用线程为话机中重要任务所用的线程,用于防止重要任务的阻塞;
步骤2、定义一任务虚基类,该任务虚基类包括:执行任务、读任务(如搜索任务,下载任务等)、写任务(如向服务器上传文件任务)的方法,以及能保存话机中调用类的指针;所述话机中每个任务均继承自该任务虚基类;并实现任务虚基类中的方法;
步骤3、VOIP话机使用时,创建所需的任务,将创建的各任务放入所述线程池中,线程池扔给专用线程或任意一空闲的通用线程,如果无空闲的通用线程,则随机扔入任意一通用线程的任务队列中进行排队;当任意一线程执行完任务之后,通过回调函数进行回调,在话机的主线程中完成收尾工作;所述回调函数为使用线程池执行任务的类,该类继承有一纯虚函数(回调函数)的虚基类,以实现任务执行完后回调。
在本发明中,所述常规任务包括:各种远程地址簿下载任务,铃声文件下载任务,文件读写任务或搜索任务等。所述重要任务包括:电话薄LDAP联系人获取任务或本地联系人搜索任务等(可根据具体重要性自定义)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门亿联网络技术股份有限公司,未经厦门亿联网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310077961.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:空气能热水器主机
- 下一篇:即热式空气能热泵热水器