我有一个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");
});
答案 0 :(得分:0)
如果您之后正在结束线程池回调,就像您在那里所示,那应该不会有问题。你只是将一个线程池调用时间线替换为另一个。