日期:2014-05-20  浏览次数:20843 次

C# 文件的上传与下载,多任务的处理
任务列表中有多个任务,有上传的任务,也有下载的任务,允许任务同时运行。
那位有思路?
做过这方面的兄弟姐妹不吝赐教!谢谢。

我的思路是为每一个任务建立一个线程(这个过程封装成一个类。这个类中实现对当前线程\任务的开始,暂停等操作),不知道怎么样,会有什么影响?

------解决方案--------------------
我的思路是为每一个任务建立一个线程(这个过程封装成一个类。这个类中实现对当前线程\任务的开始,暂停等操作),不知道怎么样,会有什么影响?

能会怎么样?又能会有什么影响?
一个任务一个线程,是比较简单的实现的,如果你想提高效率的话,对单个任务就用多线程来实现,即比如一个下载任务,就用多线程去下载。效率大概有30%的提高。
另外,这种网络传输相关的程序,看效率不在于你程序的效率,而是多开几个任务后,带宽就占满了,效率受带宽和网卡的影响。
------解决方案--------------------
一个多线程的任务下载,虽然没有上传,也许对你有启发。
http://download.csdn.net/source/294368(10分)
------解决方案--------------------
csdn的下载栏中好像有一个多线程下载的源码。可以找一下。
------解决方案--------------------
最好是在线程里分段传输, 暂停就是用事件阻塞线程, 再传输就是释放事件让线程继续工作