首页新闻找找看学习计划

异步请求后callback处理

0
悬赏园豆:50 [待解决问题]

现在有这样一个场景:

需要在短时间内向一个外部Service发送大量请求获取response,然后对每个response做一些处理。

目前使用的是异步方式来发送请求,并在callback里执行那些处理。

现在的问题是可以在1秒内把1万个请求全部发送出去,可是在接收response的时候,似乎是一个个执行的。也就是说处理完第一个response,然后才会接着处理第二个response,是一个串行的操作。如果每个内部操作需要10毫秒,那么1万个请求需要100秒才能处理完毕。

这种异步的操作能使用多线程的方式去处理callback吗?如何使用呢?或者有什么其他的方式来处理?

感觉这种场景还是比较常见的。

Müller的主页 Müller | 初学一级 | 园豆:122
提问于:2015-11-23 18:01
< >
分享
所有回答(2)
0

首先javascript单线程的。

你这个问题有点BT呀,你一下丢出去辣么多数据,还让人家处理的辣么优雅,怎么可能呢?

一起走过的日子…… | 园豆:236 (菜鸟二级) | 2015-11-23 18:09

呃,补充几点,这个是.NET的程序,另外外部的Service有多个,也就是这1万个请求是分发到不同的Service上的,所以对方的处理能力是够的。

支持(0) 反对(0) Müller | 园豆:122 (初学一级) | 2015-11-23 18:18

@Müller: 额,那我就不太明白了,不好意思啦。

0

如果你是.NET的程序,那么请求是有并发限制的。所以需要添加排除限制的代码。ServicePointManager.DefaultConnectionLimit = 512;

古月三石 | 园豆:259 (菜鸟二级) | 2015-11-24 15:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册