[发明专利]临界区加锁方法、装置、终端及存储介质在审
| 申请号: | 201810987082.1 | 申请日: | 2018-08-28 |
| 公开(公告)号: | CN109271260A | 公开(公告)日: | 2019-01-25 |
| 发明(设计)人: | 冯凯文;陈卓;党跃东;何玮;鲍万宇;倪忠俊 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 临界区 锁状态 存储介质 访问指令 加锁 终端 原子操作 资源数据 相等 锁定 响应 | ||
本发明实施例公开了一种临界区加锁方法、装置、终端及存储介质。该方法包括:若接收到临界区中任一线程对共有资源的访问指令,则获取临界区的锁状态参数的当前取值;通过原子操作方式执行比较所述锁状态参数的当前取值与所述锁状态参数的初始值是否相等,以及依据比较结果调整所述锁状态参数的取值,并依据比较结果响应所述访问指令以及控制所述临界区的锁定状态。通过本发明的技术方案,在保持临界区的共有资源数据一致性的同时,可以提高系统的性能。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种临界区加锁方法、装置、终端及存储介质。
背景技术
自动驾驶系统是一个高并发的系统,目前为了保证运行时数据的一致性,会采用大量锁来对临界区的数据进行保护,其中,临界区是指一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。例如,传感驱动、感知和控制等多个算法模块需要同时访问定位模块,则传感驱动、感知和控制线程的相应线程构成临界区。
但是现有的对临界区的加锁方式如互斥锁等,同一时刻只能有一个线程对临界区加锁,会出现而过多的锁等待,从而造成系统性能的下降。
发明内容
本发明实施例提供一种临界区加锁方法、装置、终端及存储介质,在保持临界区的数据一致性的同时,可以提高系统的性能。
第一方面,本发明实施例提供了一种临界区加锁方法,包括:
若接收到临界区中任一线程对共有资源的访问指令,则获取临界区的锁状态参数的当前取值;
通过原子操作方式执行比较所述锁状态参数的当前取值与所述锁状态参数的初始值是否相等,以及依据比较结果调整所述锁状态参数的取值,并依据比较结果响应所述访问指令以及控制所述临界区的锁定状态。
第二方面,本发明实施例还提供了一种临界区加锁装置,该装置包括:
当前取值获取模块,用于若接收到临界区中任一线程对共有资源的访问指令,则获取临界区的锁状态参数的当前取值;
加锁模块,用于通过原子操作方式执行比较所述锁状态参数的当前取值与所述锁状态参数的初始值是否相等,以及依据比较结果调整所述锁状态参数的取值,并依据比较结果响应所述访问指令以及控制所述临界区的锁定状态。
第三方面,本发明实施例还提供了一种终端,该终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的临界区加锁方法。
第四方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的临界区加锁方法。
本发明实施例提供的临界区加锁方法、装置、终端及存储介质,终端在接收到临界区中任一线程对共有资源的访问指令,将获取临界区的锁状态参数的当前取值,采用原子操作方式执行锁状态参数的比较和调整,保证了所记录的锁状态参数的取值的准确性;并依据比较结果确定临界区的锁状态,以及依据锁状态对接收的访问指令给予响应或拒绝。避免了现有的对临界区加锁方式,若存在一个线程对临界区加了锁,其他锁都必须等待,造成临界区大量锁处于等待状态,从而使系统性能下降的问题,在保持临界区的共有资源数据一致性的同时,可以提高系统的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810987082.1/2.html,转载请声明来源钻瓜专利网。





