performance problems of Multithreading check remote file exists or not
<pre><code>void test()     //apply multithreading
    {
        ThreadPool.SetMaxThreads(int.Parse(TxtThread.Text), int.Parse(TxtThread.Text) + 10);
        foreach (string url in list_url)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(CheckFile), url);
        }
    }

void CheckFile(object url)  //incoming url to check files exists or not
{
    HttpWebResponse response = null;
    foreach (string str in filenameArr)
    {
        try
        {
            string strUrlFile2 = UriFile(url.ToString(), str);
            response = Com.WebResponse(strUrlFile2);
            if (response.StatusCode == HttpStatusCode.OK &amp;&amp; response.ContentType.ToLower() != "text/html")
                {

                }
        }
        catch (Exception ex)
        {
        }
        finally
        {
            if (response != null)
            {
                response.Close();
            }
        }
    }
}


public static HttpWebResponse WebResponse(string strUrlFile)    //check method
        {
            HttpWebRequest req = null;
            try
            {
                //System.GC.Collect();
                req = (HttpWebRequest)WebRequest.Create(strUrlFile);
                req.Method = "HEAD";
                req.Timeout = 100;
                req.ProtocolVersion = HttpVersion.Version11;
                req.AllowAutoRedirect = false;
                req.Accept = "*/*";
                req.KeepAlive = false;
                HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                return res;
            }
            catch (Exception)
            {
                return null;
            }
        }
</code></pre>

<p>list_url:url ArrayList</p>

<p>filenameArr:filename dictionary array</p>

<p>Questions：</p>

<p>1、After a while when httprequesting to check telefile several times，task didn't finish.And all threads stopped.</p>

<p>2、When the number of thread pool threads to grow to a certain number, and all sub-thread operation is not the main UI thread, but the program interface slow phenomenon </p>
