C#窗体多线程问题 码拜 9年 ago c# 多线程下载文件,怎么样知道该线程下载完成,然后继续下一个下载,直到全部任务完成 例如本人开了一个线程要下载三个文件 怎么样让这一个线程依次下载完这三个文件? 解决方案 4 你可以定义一个通知事件,当下载完成后触发这个事件,通知开启下一个进程。 但是本人有点不清楚,既然三个文件是依次下载的,为什么不放到一个线程里面顺序下载呢,而是要开三个线程? 2 委托作为回调函数 2 引用 3 楼 qq_30942547 的回复: WebClient webclient = new WebClient(); webclient.DownloadFile(new Uri(“http://www.essexinternational.org.cn/yunteng-setup.exe”), @”D:\1\1.exe”); WebClient webclient = new WebClient(); webclient.DownloadFile(new Uri(“http://www.essexinternational.org.cn/yunteng-setup.exe”), @”D:\1\1.exe”); WebClient webclient = new WebClient(); webclient.DownloadFile(new Uri(“http://www.essexinternational.org.cn/yunteng-setup.exe”), @”D:\1\1.exe”); 这样是可以的。 30 引用 3 楼 qq_30942547 的回复: Quote: 引用 1 楼 Libby1984 的回复: 你可以定义一个通知事件,当下载完成后触发这个事件,通知开启下一个进程。 但是本人有点不清楚,既然三个文件是依次下载的,为什么不放到一个线程里面顺序下载呢,而是要开三个线程? 怎么样在一个线程里顺序下载? 是不是在一个线程里,这样写就可以了? WebClient webclient = new WebClient(); webclient.DownloadFile(new Uri(“http://www.essexinternational.org.cn/yunteng-setup.exe”), @”D:\1\1.exe”); WebClient webclient = new WebClient(); webclient.DownloadFile(new Uri(“http://www.essexinternational.org.cn/yunteng-setup.exe”), @”D:\1\1.exe”); WebClient webclient = new WebClient(); webclient.DownloadFile(new Uri(“http://www.essexinternational.org.cn/yunteng-setup.exe”), @”D:\1\1.exe”); 是的,在一个线程里通讯会阻塞后面的程序执行,就是顺序下载。 2 跟线程没任何关系。 CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#窗体多线程问题!