[发明专利]多线程并发处理方法和多线程并发处理系统有效
申请号: | 201610143991.8 | 申请日: | 2016-03-14 |
公开(公告)号: | CN107193539B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 周剑桥 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 蔡纯;张靖琳 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 并发 处理 方法 系统 | ||
1.一种多线程并发处理方法,包括:
接收线程接收多个待处理数据,并发送给分发线程;
所述分发线程将所述待处理数据分配给多个处理线程;
每一所述处理线程将所述待处理数据进行处理后,将已处理数据发送给汇聚线程;
所述汇聚线程按照所述分发线程分发的顺序从所述多个处理线程中依次接收所述已处理数据进行汇总,
其中,所述多线程并发处理方法带有时序功能;
所述接收线程、所述分发线程、多个所述处理线程和所述汇聚线程并发执行。
2.根据权利要求1所述的多线程并发处理方法,其中,所述接收线程和所述分发线程将所述待处理数据存储到数据通道,每一所述处理线程将所述已处理数据存储到数据通道,所述分发线程和所述处理线程从所述数据通道中读取所述待处理数据,所述汇聚线程从所述数据通道中读取所述已处理数据。
3.根据权利要求2所述的多线程并发处理方法,其中,所述数据通道包括:消息队列、共享内存和异步IO。
4.根据权利要求2所述的多线程并发处理方法,其中,如果所述汇聚线程从一个所述数据通道中无法读取到数据,阻塞预定时间后,按照分发的顺序读取下一个所述数据通道内的数据。
5.根据权利要求1所述的多线程并发处理方法,其中,所述分发线程将所述待处理数据分配给多个处理线程包括:
所述分发线程读取N*M条所述待处理数据;
按顺序将N*M条的所述待处理数据的每M条分别分配给N个所述处理线程,以此类推,
所述汇聚线程按照所述分发线程分发的顺序从所述多个处理线程中依次接收所述已处理数据包括:
所述汇聚线程按照分发的顺序分别从N个所述处理线程中的一个读取M条所述已处理数据,以此类推,其中M大于等于1,N为大于等于2的整数。
6.根据权利要求1所述的多线程并发处理方法,还包括:在所述分发线程将所述待处理数据分配给多个处理线程前,对所述待处理数据进行排序。
7.根据权利要求1所述的多线程并发处理方法,还包括:在所述分发线程将所述待处理数据分配给多个处理线程前,所述分发线程通过所述待处理数据的自增型主键与所述处理线程的个数进行取模运算,以确定所述分发线程分发的顺序。
8.一种多线程并发处理系统,包括:接收线程、分发线程、多个处理线程和汇聚线程,其中,所述多线程并发处理系统带有时序功能;
所述接收线程用于接收多个待处理数据并发送给所述分发线程;
所述分发线程用于将所述待处理数据分配给多个处理线程;
每一所述处理线程用于将所述待处理数据进行处理后,将已处理数据发送给汇聚线程;
所述汇聚线程用于按照所述分发线程分发的顺序从所述多个处理线程中接收所述已处理数据进行汇总,
所述接收线程、所述分发线程、多个所述处理线程和所述汇聚线程为并发执行的线程。
9.根据权利要求8所述的多线程并发处理系统,还包括:数据通道,所述接收线程、所述分发线程、多个所述处理线程和所述汇聚线程通过所述数据通道进行数据传输。
10.根据权利要求9所述的多线程并发处理系统,其中,所述数据通道包括:消息队列、共享内存和异步IO。
11.根据权利要求9所述的多线程并发处理系统,所述汇聚线程还包括:容错单元,如果所述汇聚线程从一个所述数据通道中无法读取数据,阻塞预定时间后,按照分发的顺序读取下一个数据通道内的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610143991.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种改进的钩取技术的方法及装置
- 下一篇:一种应用软件演示方法、装置