申请/专利权人:浪潮软件股份有限公司
申请日:2019-12-24
公开(公告)日:2024-04-16
公开(公告)号:CN111143079B
主分类号:G06F9/52
分类号:G06F9/52;G06F9/54
优先权:
专利状态码:有效-授权
法律状态:2024.04.16#授权;2024.02.23#著录事项变更;2020.06.05#实质审查的生效;2020.05.12#公开
摘要:本发明提供一种多读多写无锁队列实现方法,属于数据处理技术领域,先定义一套一读一写无锁队列结构及该队列写API和读API,一读一写无锁队列具体由循环链表实现;然后根据最大并发度及多读多写中的最大值N,创建N个相对独立的一读一写无锁队列,定义一个N个元素组成的结构指针数组,该结构指针数组分别指向一个一读一写无锁队列中的节点地址;最后根据该指针数组定义多读多写队列写API和读API,可以满足多线程环境中无锁并发读写需要。
主权项:1.一种多读多写无锁队列实现方法,其特征在于,先定义一套一读一写无锁队列结构及该队列写API和读API,一读一写无锁队列由循环链表实现;然后根据最大并发度及多读多写中的最大值N,创建N个相对独立的一读一写无锁队列,定义一个N个元素组成的结构指针数组,该结构指针数组分别指向一个一读一写无锁队列中的节点地址;最后根据该指针数组定义多读多写队列写API和读API;最大并发度N是可以设定的,每个一读一写无锁队列可容纳的最多消息个数也是可以设置的,根据用户设置的这两个参数生成多读多写无锁队列;多读多写队列写API的参数包含写线程Id号、消息Id、消息地址、消息大小四个参数,也可根据需要扩充;每个写线程的Id号是唯一的,多读多写队列写API根据线程的Id号唯一选择一个一读一写无锁队列,并将消息写入该无锁队列中且返回写的结果,写线程和一读一写无锁队列是一一对应的;多读多写队列读API的参数包含读线程Id号、消息Id地址、消息地址、消息大小地址四个参数,也可根据需要扩充;每个读线程的Id号是唯一的,多读多写队列读API根据线程的Id号唯一选择一个一读一写无锁队列,并将从该无锁队列中读出一条消息且返回读的结果,读线程和一读一写无锁队列是一一对应的。
全文数据:
权利要求:
百度查询: 浪潮软件股份有限公司 一种多读多写无锁队列实现方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。