[发明专利]一种线程访问临界区的方法、系统和终端设备有效
申请号: | 201210121183.3 | 申请日: | 2012-04-23 |
公开(公告)号: | CN102662747A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 刘骁 | 申请(专利权)人: | 深圳市融创天下科技股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 访问 临界 方法 系统 终端设备 | ||
技术领域
本发明涉及多线程调用领域,尤其涉及一种线程访问临界区的方法、系统和终端设备。
背景技术
现有技术中,不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。
进程进入临界区的调度原则是:
1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
2)任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
3)进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
4)如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
现有技术存在的问题:
多个进程互斥的访问临界区时,访问效率低,等待时间长,CPU消耗大。
发明内容
本发明实施例的目的在于提出一种线程访问临界区的方法,旨在解决现有技术多个进程互斥的访问临界区时,访问效率低,等待时间长,CPU消耗大的技术问题。
本发明实施例是这样实现的,一种线程访问临界区的方法,所述方法包括步骤:
创建线程互斥锁变量;
创建所述线程互斥锁变量的状态值;
初始化所述线程互斥锁变量为状态值;
获取线程的访问方式;
判断所述线程互斥锁变量中的当前值是否等于所述状态值,若是则允许所述线程以所述访问方式访问临界区,并根据所述访问方式修改所述线程互斥锁变量中的当前值。
本发明实施例的另一目的在于提出一种线程访问临界区的系统,所述系统包括第一创建模块、第二创建模块、初始模块、获取模块、判断模块、访问模块和修改模块;
所述第一创建模块,与所述第二创建模块、初始模块、判断模块和修改模块相连,用于创建线程互斥锁变量;
所述第二创建模块,与所述第一创建模块和初始模块相连,用于创建所述线程互斥锁变量的状态值;
所述初始模块,与所述第一创建模块、第二创建模块和获取模块相连,用于初始化所述线程互斥锁变量为状态值,并发送获取指令到所述获取模块;
所述获取模块,与所述判断模块相连,用于接收所述初始模块发送的获取指令,并获取线程的访问方式,同时发送判断指令到所述判断模块;
所述判断模块,与所述获取模块、第一创建模块、访问模块和修改模块相连,用于接收所述获取模块发送的判断指令,并判断所述线程互斥锁变量中的当前值是否等于所述状态值,若是则发送访问指令到所述访问模块,并发送修改指令到所述修改模块;
所述访问模块,与所述判断模块相连,用于接收所述判断模块发送的访问指令,并允许所述线程以所述访问方式访问临界区;
所述修改模块,与所述判断模块和第一创建模块相连,用于接收所述判断模块发送的修改指令,并根据所述访问方式修改所述线程互斥锁变量中的当前值。
本发明实施例的另一目的在于提出一种线程访问临界区的终端设备。
本发明的有益效果:
本发明通过创建线程互斥锁变量和创建所述线程互斥锁变量的状态值;初始化所述线程互斥锁变量为状态值;获取线程的访问方式;判断所述线程互斥锁变量中的当前值是否等于所述状态值,若是则允许所述线程以所述访问方式访问临界区,并根据所述访问方式修改所述线程互斥锁变量中的当前值。确保线程访问临界区前,能够快速确定所述临界区是否可用,如果所述临界区不可用,线程可主动放弃CPU时间片,避免线程访问笨重、耗时的系统锁,提高了临界区的访问效率以及多线互斥访问的效率,减少了CPU消耗,同时提高了软件产品的市场竞争力。尤其是线程访问非常小的临界区时,进一步提高了线程的访问效率。通过原子递增或者递减,更加准确和有效的访问临界区。
附图说明
图1是本发明一种线程访问临界区方法的第一优选实施例流程图;
图2是本发明32位线程互斥锁变量的结构示意图;
图3是本发明一种线程访问临界区方法的第二优选实施例流程图;
图4是本发明一种线程访问临界区方法的第三优选实施例流程图;
图5是本发明一种线程访问临界区系统的第一优选实施例结构示意图;
图6是本发明一种线程访问临界区系统的第二优选实施例结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市融创天下科技股份有限公司,未经深圳市融创天下科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210121183.3/2.html,转载请声明来源钻瓜专利网。