多线程拷贝大文件 +1,高手表示怀疑,多线程拷贝文件提高IO如果是磁阵,个人觉得多线程提高IO效率是肯定的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 n个线程,一个文件就分成n段,每个线程读取对应的那段,这样就提高效率了....LZ说中途取消..可以将文件读到内存以后,设置标记,下次继续读取.. 文件单线程一次性读入IO,先算md5,然后分割成n段(线程个数),在对应需要输出的目录先创建个等大的文件,然后多线程填充,填充完毕内容重新算下MD5并比对。该方法可以允许用户暂停取消,但不允许中途更改线程数。说句题外话,如果LZ不是用来做文件传输而只是用来拷贝的话毫无意义。 中途取消,要保证目标文件的正确性与取消时的安全退出?正确性是什么?中途取消了,没复制完的目标文件就删除,windows系统就是这么做的。安全退出。对原文件只读操作,不会破坏原文件,每个线程在循环拷贝过程中接收到退出通知后退出,而不是terminatethread,就安全。 用IO完成端口,进行异步IO,一个线程不会比多线程慢 赞成用IO完成端口,进行异步IO,详细可参考《windows 核心编程》 mscomm控件通信问题,急啊!在线等 汉字编码问题 在MFC下,怎样把一个MFC的数据传到另一个MFC程序; CSplitterWnd中CreateView的问题 windows 资源管理器里的详细资料的界面显示是怎么实现的? 高分求助,在线等待,数据库问题 gps导航制导参数偏航距的算法? 关于ADO的一个问题 在新建的线程中如何控制对话框中的控件 为什么最近不能收到回复内容的信件? 怎么在程序中显示出png图片 vc CLIST如何快速定位的问题
LZ说中途取消..可以将文件读到内存以后,设置标记,下次继续读取..
安全退出。对原文件只读操作,不会破坏原文件,每个线程在循环拷贝过程中接收到退出通知后退出,而不是terminatethread,就安全。