[发明专利]一种跨进程的线程间进行互斥的方法有效

专利信息
申请号: 201510834063.1 申请日: 2015-11-25
公开(公告)号: CN105511969B 公开(公告)日: 2020-05-19
发明(设计)人: 秦远辉;周林宏;王永炎;晏琪;亓卓然;王盖;罗雄飞 申请(专利权)人: 中国船舶工业系统工程研究院
主分类号: G06F9/52 分类号: G06F9/52
代理公司: 北京天达知识产权代理事务所(普通合伙) 11386 代理人: 白海燕;彭霜
地址: 100096 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 跨进 线程 进行 方法
【权利要求书】:

1.一种跨进程的线程间进行互斥的方法,包括以下步骤:

步骤一、多个线程竞争互斥信息,胜出的线程初始化互斥信息;

所述互斥信息在跨进程的线程之间使用,所述互斥信息的存储在一个不同进程间都可以访问的位置;所述互斥信息为有名信号量,在Linux操作系统中,System V标准的有名信号量以文件的形式的存储在一个公共区域,任何一个进程都可以访问到,满足互斥信息用于跨进程的线程的使用条件;当有名信号量创建之后,任何一个线程根据名称,找到对应的有名信号量文件,获取其中的信息;

所述有名信号量的创建是依据数值型的id,提供给用户的接口是字符串名称;利用映射函数将字符名称串映射成id,映射函数为hash映射;映射成id之后,判断该id代表的有名信号量是否存在,如果不存在,则直接创建并初始化有名信号量的值为1;如果存在,则直接获取有名信号量的值,并判定该有名信号量的值是否是垃圾值,若不是垃圾值,无需额外操作;如果有名信号量的值不为1,为垃圾值;若是垃圾值,则重新设置有名信号量的值为1;最后,初始化其它必要信息之后退出即可;初始化有名信号量的值为1是因为互斥访问时一次只允许一个线程访问,设置为1,一旦有一个线程通过了,值减为0之后其它线程就必须等待;

步骤二、当胜出的线程获得互斥信息之后,利用互斥信息对临界区进行加锁操作;

步骤三、进行加锁操作后,线程获得互斥信息的锁,访问共享资源;同时,其它线程进行等待;

步骤四、线程使用完共享资源之后,离开临界区,进行解锁操作;互斥信息继续被其它线程竞争,重复上述步骤;

所述步骤一进一步包括:

通过名称来判断该互斥信息在系统中是否存在;

如果否,则创建并初始化该互斥信息;

如果是,则判定该已存在的互斥信息中的值是否是垃圾值;

如果是垃圾值,则清除垃圾值并重新初始化;

如果不是垃圾值,直接获取该互斥信息;

所述通过名称来判断该互斥信息在系统中是否存在进一步包括:

获取互斥信息名称,

将互斥信息名称进行hash映射转换为id;

检查该id所代表的互斥信息是否存在;

所述步骤二进一步包括:

首先,判断当前请求加锁线程是否已经获得锁;

如果是,则返回正确;

如果否,则判断尝试枷锁的等待时间是否为无限等待;

如果是,则进行无限等待直至加锁成功;

如果否,则进行有限等待,在设定的有限时间内进行加锁等待;

如果加锁成功,则更新上锁的线程号及锁状态标记;

设置ms为用户传入的时间参数,若ms小于0则表示采取无限等待方式,只有成功得到有名信号量的锁之后才会继续执行;ms大于0表示有限等待方式,在ms时间内,如果成功获得锁就继续执行,如果没有成功获得,也会在ms时间之后继续执行,但是这种情况下会返回错误;

所述步骤四进一步包括:

首先判断当前互斥信息的状态是否是上锁状态;

如果否,即没有线程获得了互斥信息的锁,则直接返回正确;

如果是,则继续判断当前执行解锁的线程是否获得锁的线程,因为只有获得锁的线程才能进行解锁操作,其它线程不允许执行解锁操作;

如果是,则对互斥信息进行解锁操作,复位上锁线程号和锁状态;

这样其它线程又可以继续竞争;如果不是,则无法进行解锁操作,返回错误。

2.根据权利要求1所述的跨进程的线程间进行互斥的方法,其中,所述步骤四进一步包括:

当所有线程都不再继续使用互斥信息时,对互斥信息进行删除操作。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶工业系统工程研究院,未经中国船舶工业系统工程研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510834063.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top