对于列表中的每个项目,我都会启动一个新线程来引用该项目。我的问题是我想同时限制最大下载量。
for (int i = downloadList.Count - 1; i >= 0; i--)
{
downloadItem item = downloadList[i];
if (item.Status != 1 && item.Status != 2)
{
ThreadStart starter = delegate { this.DownloadItem(ref item); };
Thread t = new Thread(starter);
t.IsBackground = true;
t.Name = item.Name;
t.Priority = ThreadPriority.Normal;
t.Start();
}
}
我看到有关线程池的内容,但是我无法引用我的项目。有人能帮帮我吗?谢谢!:)
编辑:
我尝试了这个:
ThreadPool.SetMaxThreads(maxDownloads, maxDownloads);
ThreadPool.SetMinThreads(maxDownloads, maxDownloads);
ThreadPool.QueueUserWorkItem(DownloadItem, ref item);
我不知道如何在这个线程中引用我的downloadItem.....