请教循环中的线程问题
我做了一个简单的下载程序,用一个线程循环下载一个文件列表
用下面的方式 不能正确显示下载状态 我对线程不是很了解
请各位高手指点 该怎样做
System.Threading.Thread thread001 = null;
DownloadClass dc = new DownloadClass(); //下载类
System.Threading.ThreadStart startDownload = new System.Threading.ThreadStart(dc.DownloadFile);//dc.DownloadFile是下载类中的函数
for (int i = 0; i < rc.Count; i++)
{
thread001 = new System.Threading.Thread(startDownload);
thread001.Start();
}
------解决方案--------------------有没有冲突要看你的DownloadFile方法是怎么实现的。如果有冲突的话,可以使用互斥锁。
------解决方案--------------------检查DownloadFile到本地是不是路径一样
------解决方案--------------------Monitor用法
try
{
Monitor.Enter(this)
// 公共资源处理代码
}
finally
{
Monitor.Exit(this)
}
至于显示下载状态不正确,你的需求说明不是很清楚,无法解释
------解决方案--------------------这种下载的可以考虑一下线程池
http://www.cnblogs.com/Bird/archive/2007/03/12/671880.html