[发明专利]对资源限制访问的方法、装置及终端设备在审
申请号: | 201810251731.1 | 申请日: | 2018-03-26 |
公开(公告)号: | CN108446181A | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 杨亮;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/52 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 吴迪 |
地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计数变量 预设 自旋 终端设备 资源限制 访问 加锁 解锁 线程 调用 互联网技术 调用系统 函数检测 使用系统 系统资源 线程调用 运行效率 阈值配置 读写 占用 节约 配置 | ||
本发明涉及互联网技术领域,具体涉及一种对资源限制访问的方法、装置及终端设备,该方法通过定义的自旋锁限制多个线程对资源的同时访问,该自旋锁包括锁计数变量、加锁函数以及解锁函数。当前线程调用所述加锁函数中的指定函数检测所述锁计数变量是否为预设初值,若所述锁计数变量为预设初值,则将锁计数变量配置为预设阈值,以供当前线程占用自旋锁对资源进行访问。当前线程访问完资源后,调用解锁函数将锁计数变量由预设阈值配置为预设初值,以供其他线程调用自旋锁。在本方案中,线程是通过调用系统函数读写锁计数变量,并没有使用系统资源,故节约了系统资源,提高了系统的运行效率。
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种对资源限制访问的方法、装置及终端设备。
背景技术
在现代计算机程序编程中,多线程被广泛运用,为了保护相关的代码或者变量,在多线程中通常采用锁机制来解决。例如在Windows系统中可以自旋锁,互斥体、信号量等方法来实现锁功能。以自旋锁(一般提供加锁的lock函数,以及解锁的unlock函数)为例,利用自旋锁的lock方法对需要保护的代码,数据进行加锁保护,这样其他线程运行到调用该函数地址时,就会被阻塞;调用自旋锁的unlock函数对该代码区域进行解锁。位于lock和unlock之间的代码就是线程安全的,对于有N个线程同时运行的进程来说,同时只有一个线程能够访问到这之间的代码。
同理互斥体、信号量、事件都可以用于实现类似的加锁与解锁功能,但是这些与自旋锁的差异性在于互斥体、信号量、事件这些都是系统资源,如果整个系统中使用了大量的这些系统资源,很有可能造成系统运行效率的低下,或者在申请这些资源时,可能导致失败。而自旋锁并不是系统资源,是需要程序员根据相关算法手动实现的。所以如果自旋锁的实现逻辑够好,可以起到不消耗相关系统资源的效果。
自旋锁其实现的本质就在于当调用lock加锁时,如果锁计数(通常是一个32位的整型数)不等于0,则说明该自旋锁被别的线程占用,则需要依靠一个while循环不停的等待,直到该锁计数等于0时,才能获取到该锁,并把锁计数设置为1(表示该自旋锁已经被占有),从而退出while循环。而在调用unlock解锁时,就是把该自旋锁的锁计数设置为0。所以锁计数变量就是实现自旋锁功能的关键,因为该锁计数变量会在多个线程中进行读写,所以对该锁计数变量的读写保护就是自旋锁实现过程中的根本所在。
目前自旋锁比较常见的实现方式大都是利用一个系统资源的互斥体变量来保护锁计数变量,这种实现方法实现简单,但仍然使用到了系统的互斥体资源,导致系统运行效率低下。
发明内容
本发明的目的在于提供一种对资源限制访问方法,以实现节约系统资源,提高系统运行效率。
本发明的另一目的在于提供一种对资源限制访问装置,以实现节约系统资源,提高系统运行效率。
本发明的另一目的在于提供一种终端设备,以实现节约系统资源,提高系统运行效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种对资源限制访问的方法,所述方法通过定义的自旋锁限制多个线程对资源的同时访问,所述自旋锁包括锁计数变量、加锁函数以及解锁函数,当前线程调用所述加锁函数中的指定函数检测所述锁计数变量是否为预设初值;若所述锁计数变量为预设初值,则将所述锁计数变量配置为预设阈值,以供当前线程占用所述自旋锁对所述资源进行访问;当所述当前线程访问完所述资源后,调用所述解锁函数将所述锁计数变量由所述预设阈值配置为所述预设初值,以供其他线程调用所述自旋锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810251731.1/2.html,转载请声明来源钻瓜专利网。