[发明专利]一种单进程中多线程多互斥量间的控制方法以及终端有效
申请号: | 202210571806.0 | 申请日: | 2022-05-25 |
公开(公告)号: | CN114661481B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 宋久才;张常华;朱正辉;赵定金 | 申请(专利权)人: | 广州市保伦电子有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/52 |
代理公司: | 广州君咨知识产权代理有限公司 44437 | 代理人: | 谭启斌 |
地址: | 510000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 多线程 多互斥量间 控制 方法 以及 终端 | ||
1.一种单进程中多线程多互斥量间的控制方法,其特征在于,包括以下步骤:
S1:获取进程中的线程的个数N,并根据优先级对线程进行排序,记线程为Tn,其中n为排序中的序号;
S2:初始化N个互斥信号量,对互斥信号量进行排序,记互斥信号量为An,对排序中的前(N-1)个An进行资源加锁;
S3:将N个线程Tn逐一加入到线程池中,并向每个线程Tn中传递参数i,启动所有线程Tn,其中i=n;
S4:判断i是否等于1,若是,则执行S5,若否,则执行S6;
S5:对线程T1的内部引入未进行资源加锁的互斥信号量An,执行完成线程T1的任务,并对互斥信号量A1进行资源解锁;
S6:对线程Tn的内部引入互斥信号量An-1,执行完成线程Tn的任务,并对互斥信号量An进行资源解锁;
执行完成任意一个线程的任务后,还包括以下步骤:
S7:获取预先设置的线程退出条件:ThreadExit=K,以及线程执行完成次数Q,其中Q的初始值为0;
S8:对线程执行完成次数Q进行累计+1操作,获得线程执行当前次数B;
S9:判断B是否等于K,若是,则结束程序,若否,则对互斥信号量An进行资源解锁;
所述S5具体由以下步骤实现:
S51:初始化临时变量参数Atemp,并对线程T1的内部引入未进行资源加锁的互斥信号量An,赋值临时变量参数Atemp=互斥信号量An;
S52:判断临时变量参数Atemp是否处于资源加锁状态;若是,则线程等待执行,重新执行S52,若否,则对临时变量参数Atemp进行资源加锁,并执行完成线程T1的任务;
S53:对互斥信号量A1进行资源解锁,触发执行下一线程,并返回S52。
2.如权利要求1所述的单进程中多线程多互斥量间的控制方法,其特征在于,所述S6具体由以下步骤实现:
S61:初始化临时变量参数Atemp,并对线程Tn的内部引入互斥信号量An-1,赋值临时变量参数Atemp=互斥信号量An-1;
S62:判断临时变量参数Atemp是否处于资源加锁状态;若是,则线程等待执行,重新执行S62,若否,则对临时变量参数Atemp进行资源加锁,并执行完成线程Tn的任务;
S63:对互斥信号量An进行资源解锁,触发执行下一线程,并返回S62。
3.如权利要求2所述的单进程中多线程多互斥量间的控制方法,其特征在于,所述S63具体由以下步骤实现:
对互斥信号量An进行资源解锁,触发执行线程Tn+1,并返回S62。
4.如权利要求2所述的单进程中多线程多互斥量间的控制方法,其特征在于,所述S63具体由以下步骤实现:
对互斥信号量An进行资源解锁,触发执行线程T1,并返回S62。
5.一种单进程中多线程多互斥量间的控制终端,其特征在于:包括储存器和处理器;
储存器,用于储存程序指令;
处理器,用于运行所述程序指令,以执行如权利要求1-4任意一项所述的单进程中多线程多互斥量间的控制方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市保伦电子有限公司,未经广州市保伦电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210571806.0/1.html,转载请声明来源钻瓜专利网。