一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

适用于Linux容器应用的多进程同步方法与流程

2021-10-24 11:59:00 来源:中国专利 TAG:适用于 容器 进程 同步 方法

技术特征:
1.一种适用于linux容器应用的多进程同步方法,其特征在于:所述方法包括,s1、初始化线程锁和进程锁;s2、获取线程锁,再获取进程锁,实现多线程多进程同步互斥以保护临界区资源;s3、完成任务后,释放进程锁,再释放线程锁,结束任务。2.根据权利要求1所述适用于linux容器应用的多进程同步方法,其特征在于:所述s2的具体操作过程如下,s21、定义线程互斥锁、条件变量以及无符号32位整型信号值;s22、获取线程互斥锁,实现多线程对信号值进行保护;s23、判断信号值是否大于0,若是,执行s25,反之,执行s24;s24、等待条件变量,线程进入阻塞状态,并在收到条件变量的通知时,执行s25;s25、对信号值减1;s26、释放线程互斥锁;s27、执行进程锁加锁操作。3.根据权利要求1所述适用于linux容器应用的多进程同步方法,其特征在于:所述s3释放进程锁和线程锁的具体操作过程如下,s31、执行进程所解锁过程;s32、获取线程互斥锁,实现多线程对信号值进行保护;s33、对信号值加1;s34、广播通知条件变量;s35、释放线程互斥锁。4.根据权利要求2所述适用于linux容器应用的多进程同步方法,其特征在于:所述方法在执行s24过程中还存在如下操作,s241、接受用户定义的最大超时时间t1,并获取系统当前时间t2;s242、判断等待条件变量通知的已耗时间是否大于t2 t1,若是,结束加锁过程,反之,执行s243;s243、记录得到条件变量通知时的系统当前时间t3,获取线程同步已耗费的等待时间为t3

t2;s244、计算剩余的超时时间δt=t1

(t3

t2),将其作为进程锁加锁的最大超时时间。5.根据权利要求1所述适用于linux容器应用的多进程同步方法,其特征在于:所述进程锁由记录锁构造得到。6.根据权利要求5所述适用于linux容器应用的多进程同步方法,其特征在于:所述进程锁具体构造方式如下,1)初始化锁,获取文件句柄fd;2)使用记录锁fcntl方法请求文件句柄fd对应的整个文件写锁,进行加锁操作;3)使用记录锁fcntl方法请求文件句柄fd对应的整个文件释放锁,进行解锁操作;4)通过close方法关闭文件句柄fd对应的整个文件,进行删除锁操作。7.根据权利要求6所述适用于linux容器应用的多进程同步方法,其特征在于:所述方法在构造进程锁过程中,初始化锁的操作具体包括,1)提供由路径path、特征字符c以及固定前缀sem组合生成的上锁文件全路径
filepath;2)通过open方法以读写方式和读写权限创建并打开filepath,获取文件句柄fd。8.根据权利要求1所述适用于linux容器应用的多进程同步方法,其特征在于:所述方法对应的进程间同步过程包括当进程间正常同步时,对应操作,1)进程1、进程2初始化锁;2)进程1先于进程2加锁,并持有锁,进程2后于进程1加锁,进入阻塞等待状态;3)进程1处理完事务解锁,进程2取得锁并持有;4)进程2处理完事务解锁。9.根据权利要求1所述适用于linux容器应用的多进程同步方法,其特征在于:所述方法对应的进程间同步过程还包括当进程间异常同步时,对应操作,1)进程1、进程2初始化锁;2)进程1先于进程2加锁,并持有锁,进程2后于进程1加锁,进入阻塞等待状态;3)进程1持有锁期间异常退出,内核清理进程1的锁,由进程2取得锁并持有;4)进程2处理完事务解锁。10.根据权利要求4所述适用于linux容器应用的多进程同步方法,其特征在于:所述信号值初始值为1,所述t1单位为毫秒,t2单位为纳秒。

技术总结
本发明涉及一种适用于Linux容器应用的多进程同步方法,所述方法包括S1、初始化线程锁和进程锁;S2、获取线程锁,再获取进程锁,实现多线程多进程同步互斥以保护临界区资源;S3、完成任务后,释放进程锁,再释放线程锁,结束任务。本发明实现了多线程和多进程的同步。本发明实现了多线程和多进程的同步。


技术研发人员:邬科科 王燕 刘宁 冯丹荣
受保护的技术使用者:宁波三星医疗电气股份有限公司
技术研发日:2021.05.31
技术公布日:2021/10/23
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜