[发明专利]一种多对象阻塞方法及其系统有效
申请号: | 201710065066.2 | 申请日: | 2017-02-05 |
公开(公告)号: | CN106933681B | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 李意希 | 申请(专利权)人: | 深圳怡化电脑股份有限公司;深圳市怡化时代科技有限公司;深圳市怡化金融智能研究院 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F8/20 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 阳开亮 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 阻塞 方法 及其 系统 | ||
本发明适用于计算机软件应用领域,提供了一种多对象阻塞方法及其系统。所述方法包括:系统发送待处理任务到队列,调用所述队列上预先注册的通知函数,所述通知函数发送消息到预先设置的网关,唤醒线程,所述线程判断所述队列上的记录值,根据判断结果执行待处理任务。通过上述方法通过在线程上设置的网关,可以使线程能够同时等待多个队列,在多个队列上均有待处理任务时做到及时处理。本实施例中通过在线程上设置一网关来实现线程对多目标对象的阻塞,实现方法简单,大大降低了软件设计的难度。
技术领域
本发明实施例属于计算机软件应用领域,尤其涉及一种多对象阻塞方法及其系统。
背景技术
线程阻塞通常是指一个线程在执行过程中暂停,以等待某个条件的触发。当线程处于阻塞状态时,调度器将忽略线程,不会分配给线程任何CPU时间,直到线程重新进入就绪状态,它才有可能执行操作。现有的软件系统中,存在多个队列的线程,虽然任意队列接收到任务处理消息时都可将线程唤醒,但线程仅能等待其中一个队列上待处理任务的出现,也就是说,其中一个队列上接收到待处理任务而将线程唤醒时,线程便不再等待其他队列。而对于某个线程来说,它往往需要同时阻塞于信号量及消息队列或者多个消息队列,当线程收到同步信号或者消息时需要马上对信号或者消息进行处理,但现有技术中当前阻塞线程被唤醒后,会优先执行最先唤醒线程的任务队列或信号量,从而导致线程无法同时接收到多个消息队列任务,并对其进行处理。
故,需要一种能够实现单线程阻塞于多个目标对象的方法。
发明内容
本发明实施例提供了一种多对象阻塞方法,旨在解决现有的方法中,单线程中多队列同时接收任务处理消息时,线程无法及时处理待处理任务的问题。
本发明实施例的第一方面,提供一种多对象阻塞方法,所述方法包括:
系统发送待处理任务到队列,调用所述队列上预先注册的通知函数;
所述通知函数发送消息到预先设置的网关,唤醒线程;
所述线程判断所述队列上的记录值,根据判断结果执行待处理任务。
本发明实施例的第二方面,提供一种多对象阻塞系统,所述系统包括:
函数调用单元,用于发送待处理任务到队列,调用所述队列上预先注册的通知函数;
通知函数,用于发送消息到预先设置的网关,唤醒线程;
线程,用于判断所述队列上的记录值,根据判断结果执行待处理任务。
在本发明实施例中,当系统调用一个队列进行任务处理时,自动调用队列上预先注册的通知函数,通知函数发送消息到预先设置的网关,网关接收到上述通知函数发送的消息后便唤醒线程,由线程对队列进行判断后,接收并运行队列上的待处理任务。通过在线程上设置的网关,可以使线程能够同时等待多个队列,在多个队列上均有待处理任务时做到及时处理。本实施例中通过在线程上设置一网关来实现线程对多目标对象的阻塞,实现方法简单,大大降低了软件设计的难度。
附图说明
图1是本发明第一实施例提供的一种多对象阻塞方法的流程图;
图2是本发明第二实施例提供的一种多对象阻塞系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,系统调用队列处理任务时,调用队列上预先设置的通知函数,所述通知函数被调用后,发送消息到预先设置的网关,网关接收通知函数发送的消息后启动线程,线程对队列进行判断,接收并运行待处理任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳怡化电脑股份有限公司;深圳市怡化时代科技有限公司;深圳市怡化金融智能研究院,未经深圳怡化电脑股份有限公司;深圳市怡化时代科技有限公司;深圳市怡化金融智能研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710065066.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:系统异常处理方法及装置
- 下一篇:消息处理的方法及终端