[发明专利]软总线程序并发资源分配方法在审
| 申请号: | 201510731501.1 | 申请日: | 2015-10-31 |
| 公开(公告)号: | CN105183553A | 公开(公告)日: | 2015-12-23 |
| 发明(设计)人: | 刘国永;徐传伦;张宪强;张万征 | 申请(专利权)人: | 山东智洋电气股份有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 青岛发思特专利商标代理有限公司 37212 | 代理人: | 耿霞 |
| 地址: | 255086 山东省淄*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 总线 程序 并发 资源 分配 方法 | ||
1.一种软总线程序并发资源分配方法,其特征在于,包括以下步骤:
第一步,建立应用级线程池,预先启动若干个工作者线程Wn(n=1,2,…,N,N取大于2的整数)和一个管理者线程M;
第二步,为每一个工作者线程Wn定义一个发送缓冲区,由管理者线程M进行该发送缓冲区内发送数据的调配与写入,由工作者线程Wn进行该发送缓冲区内发送数据的读取和转发。
2.根据权利要求1所述的软总线程序并发资源分配方法,其特征在于,所述发送缓冲区具体定义方式如下:
定义CBuf类,这个类中包含一个CRec类型的成员变量m_CRec[5000]、一个int类型的读指针m_nRead和一个int类型的写指针m_nWrite,m_CRec[5000]成员变量是发送缓冲区,由管理者线程M和工作者线程Wn共同使用,读指针m_nRead记录发送缓冲区中已经发送到第几条记录,由工作者线程Wn使用;写指针m_nWrite记录发送缓冲区中已经写到第几条记录,由管理者线程M使用。
3.根据权利要求2所述的软总线程序并发资源分配方法,其特征在于,所述第二步中工作者线程Wn读取和转发缓冲发送区内数据的方式如下:
工作者线程Wn从自己的发送缓冲区m_CRec中获取一条未发送记录Ds后进行数据转发,成功后将m_CRec发送缓冲区读指针m_nRead加1;然后判断自己的发送负荷量,如果负荷量大于0则继续循环发送。
4.根据权利要求2所述的软总线程序并发资源分配方法,其特征在于,所述第二步中发送缓冲区内发送数据的调配与写入实现方式如下:
管理者线程M从代发数据堆中获取发送的数据Ds后,计算所有Wn的负荷情况,定义工作者线程Wn的负荷为Wn负荷=abs(m_nWrite-m_nRead),其中abs表示绝对值,找出任务负荷最小者Wnmin后将Ds写入Wnmin的m_CRec发送缓冲区中,同时将该发送缓冲区的写指针m_nWrite加1,M线程无限循环。
5.根据权利要求4所述的软总线程序并发资源分配方法,其特征在于,所述读指针m_nRead如果与写指针m_nWrite相等,则读指针m_nRead加1,覆盖一条未发送记录。
6.根据权利要求1所述的软总线程序并发资源分配方法,其特征在于,所述工作者线程定义5-8个,即N取5-8。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东智洋电气股份有限公司,未经山东智洋电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510731501.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种纸护角自动盘曲装置的送料绕弯结构
- 下一篇:动态任务安排方法





