[发明专利]一种基于Linux的多线程硬实时控制方法有效

专利信息
申请号: 201310273174.0 申请日: 2013-07-02
公开(公告)号: CN103345422B 公开(公告)日: 2019-01-29
发明(设计)人: 陈华云;郑振贵;刘伟峰;郑福弟 申请(专利权)人: 厦门雅迅网络股份有限公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 泉州市诚得知识产权代理事务所(普通合伙) 35209 代理人: 李伊飏
地址: 361000 福建*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 linux 多线程 实时 控制 方法
【说明书】:

本发明公开一种基于Linux的多线程硬实时控制方法,包括以下步骤:步骤1:定义全局互斥锁并初始化;步骤2:创建主控线程和被控线程;步骤3:在主控线程中申请互斥锁,在被控线程中进行信号注册;步骤4:对主控线程进行实时监控,检测其是否需要实时挂起被控线程,如果是,则转至步骤5;如果否,则检测其是否需要恢复被控线程,如果是,则转到步骤6,如果否,则循环执行步骤4;步骤5:主控线程执行挂起被控线程的操作,返回步骤4;步骤6:主控线程恢复被控线程;步骤7:主控线程再次申请互斥锁,并转到步骤4。本发明运用信号传递的高优先级和互斥锁的性质,达到了非常实时的挂起被控线程和恢复被控线程的目的,达到了硬实时的要求。

技术领域

本发明涉及多线程处理,尤其涉及基于Linux的多线程的硬实时控制方法。

背景技术

现有的Linux系统开发中,基本都会用到多线程的开发技术。而且多线程中要进行相互的控制。

当前的一般线程控制方法有:a、通过使用全局变量。A线程循环判断变量的当前值来切换状态,B线程中修改变量值来控制A线程。这样做资源浪费并且无法实时控制。b、使用条件变量。使用条件变量的线程可实现线程的唤醒,而无法在外部对线程进行实时的挂起,挂起只能线程本身运行到挂起点后才可以。因此只实现线程同步,而没有线程实时控制。上述现有的方法无法做到对线程的实时控制。

另一方面,在编程中,为了保证共享数据操作的完整性,引入了对象互斥锁的概念。每个对象都对应于一个可称为互斥锁 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。例如申请号为200310114380.3的发明专利,公开了一种用于串行互斥体的方法与装置,其将互斥锁与共享数据项相关联、并向多个执行线程提供互斥锁所有权的机制,这些线程按次序对共享数据项执行代码操作。该方法主要是使用互斥锁来保证共享数据的一致性。其中使用到了互斥锁,用互斥锁主要是对共享资源的保护,让多线程不能同时访问共享资源,而是排着队顺序去访问的。再例如申请号为201010182624.1的发明专利,公开了一种资源共享的方法及系统,其提供了一种资源共享的方法和系统,所述方法包括下述步骤:设置资源与文件中的字节之间的对应关系;当进程访问资源时,针对文件中与该资源对应的字节申请文件锁,并在文件锁申请成功后,进程按照申请的文件锁访问资源;当进程释放资源时,解除进程针对文件中该资源对应的字节申请的文件锁。其主要也是使用互斥锁对共享资源的互斥访问。其中使用到了互斥锁,用互斥锁主要是对共享资源的保护,让多线程不能同时访问共享资源。

发明内容

因此,针对上述的问题,本发明提出一种基于Linux的多线程硬实时控制方法,使用互斥锁和信号结合控制,达到对线程的硬实时控制的目的。

为了解决上述技术问题,本发明所采用的思路是使用互斥锁和信号结合控制。其中,使用互斥锁,但不是使用它来对临界资源的控制保护这一基本功能,而是用到了一个线程在该互斥锁上面等待跟获取的实时性,进而达到线程的实时挂起跟恢复运行。使用信号,信号的发送跟接收是使用中断方式的,所以具有较高的优先级,使用信号可以随时并实时的通知被控制线程,使之挂起,达到硬实时控制的目的。

具体的,本发明所采用的技术方案为,一种基于Linux的多线程硬实时控制方法,包括以下过程:

过程1:定义一个全局的互斥锁,并在主线程中申请互斥锁;在被控线程中注册信号,并定义信号处理函数,该信号处理函数用以申请全局的互斥锁;

过程2:当主线程要挂起被控线程时,向被控线程发送信号,被控线程接收到信号后,被阻塞挂起;

过程3:当主线程要恢复被控线程时,释放掉互斥锁,则被控线程就可以获取到互斥锁,解除阻塞,被控线程恢复运行。

其具体的实现步骤如下:

步骤1:定义一个全局的互斥锁,并初始化该互斥锁;

步骤2:创建一主控线程以及1个或多个被控线程;

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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