Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 异步HttpWebRequest-线程数_.net_Multithreading_Httpwebrequest_Iasyncresult - Fatal编程技术网

.net 异步HttpWebRequest-线程数

.net 异步HttpWebRequest-线程数,.net,multithreading,httpwebrequest,iasyncresult,.net,Multithreading,Httpwebrequest,Iasyncresult,假设我有以下代码: ThreadPool.SetMinThreads(100, 100); for (int i = 0; i < 100; i++) { var request = WebRequest.Create(url); request.BeginGetResponse(ar => { //inside AsynchCallBack method for request.BeginGetResponse() var response = (HttpWeb

假设我有以下代码:

ThreadPool.SetMinThreads(100, 100); 
for (int i = 0; i < 100; i++)
{
  var request = WebRequest.Create(url);
  request.BeginGetResponse(ar =>
 {
  //inside AsynchCallBack method for request.BeginGetResponse()
  var response = (HttpWebResponse)request.EndGetResponse(ar);

  string html;
  using (var receiveStream = response.GetResponseStream())
  using (var readStream = new StreamReader(receiveStream
                       , Encoding.UTF8))
  {
   html = readStream.ReadToEnd();
  }

            Console.WriteLine(Thread.CurrentThread.ManagedThreadId);

 }, null
 );
}
ThreadPool.SetMinThreads(100100);
对于(int i=0;i<100;i++)
{
var request=WebRequest.Create(url);
request.BeginGetResponse(ar=>
{
//request.BeginGetResponse()的内部AsynchCallBack方法
var response=(HttpWebResponse)request.EndGetResponse(ar);
字符串html;
使用(var receiveStream=response.GetResponseStream())
使用(var readStream=newstreamreader(receiveStream
,Encoding.UTF8))
{
html=readStream.ReadToEnd();
}
Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
},空
);
}
在向控制台写入ManagedThreadId时,我希望看到相当多的线程—当然我错了:)。我通常只看到2个不同的线程ID,偶尔会看到3个线程ID


为什么会有这种行为?我错过了什么?

我想你击中了。

我想你击中了。

哇-太快了:)。非常感谢。哇-太快了:)。非常感谢你。