我有一个任务,我形成了数千个请求,稍后发送到服务器。服务器返回每个请求的响应,然后将该响应逐行转储到输出文件。使用多线程发送多个请求到服务器
的伪代码是这样的:
//requests contains thousands of requests to be sent to the server
string[] requests = GetRequestsString();
foreach(string request in requests)
{
string response = MakeWebRequest(request);
ParseandDump(response);
}
现在,可以看出的发球处理我的请求,一个接一个。我想快速完成整个过程。有问题的服务器能够一次处理多个请求。我想要应用多线程并发送4个请求到服务器,并在同一线程中转储响应。
你能否给我任何指向可能的方法。
这样的事情呢,类似的问题: http://stackoverflow.com/questions/2960056/trying-to-run-multiple-http-requests-in-parallel-but-being-limited-by-windows –
写出回答时,顺序是否重要? – mbeckish
我会看看线程池或任务并行库。这个问题有两种方法很好的讨论:http://stackoverflow.com/questions/5213695/should-i-use-threadpools-or-task-parallel-library-for-io-bound-operations – GrandMasterFlush