ThreadPool.QueueUserWorkItem与线程内的异步调用

时间:2011-02-08 22:12:08

标签: c# .net xamarin.ios

我有一个MonoTouch应用程序,它使用ThreadPool来管理后台线程的数量。如果我让ThreadPool从一个线程产生并在线程内,它会触发一个异步Web请求,Web请求会产生第二个线程吗?如果是这样,该线程是否会从ThreadPool中删除?

这种事情的最佳做法是什么? Web请求是否应该是同步调用,以降低当前线程数?

ThreadPool.QueueUserWorkItem(callback =>
{
    WebClient client = new WebClient();
    client.DownloadStringAsync(new Uri("http://www.google.com/"));
    client.DownloadStringCompleted += (a,b) => Console.WriteLine("Done");
});

1 个答案:

答案 0 :(得分:0)

如果您之后正在结束线程池回调,就像您在那里所示,那应该不会有问题。你只是将一个线程池调用时间线替换为另一个。