返回首页
当前位置: > 计算机类 > 计算机应用 >

基于USB接口的并行写入技术的设计与实现(2)

时间:2011-07-13 10:13来源:网络(转载) 作者:陈善清 周文俊 熊娣 点击:
3.2.3 文件写入 文件写入是系统的核心部分。当用户进行写入操作后,系统会自动给每一个要拷贝的U盘创建各自的线程,由新建的线程执行拷贝任务。使用了多线程的概念以后,使得系统不再被文件拷贝任务所束缚,可以很
  
  3.2.3 文件写入
  文件写入是系统的核心部分。当用户进行写入操作后,系统会自动给每一个要拷贝的U盘创建各自的线程,由新建的线程执行拷贝任务。使用了“多线程”的概念以后,使得系统不再被文件拷贝任务所束缚,可以很快地响应用户的具体操作,从而极大地提高了文件的拷贝速度。
  各线程的执行流程如图3所示:先在内存中开辟5M的空间,每次从源文件拷贝相应大小的文件块到内存中,再将其写入到指定的U盘,并且用变量对写入文件大小进行计算,实时地发送更新进度条的信号,如此反复操作直至拷贝完成。
  
  各线程的文件拷贝算法直接影响着拷贝的速度,这种影响在对单个文件进行拷贝的时候表现不明显,但对整个文件夹进行拷贝时,这种影响就不可忽略了。本文使用了递归法即深度优先搜索的策略,这种搜索算法不会遗漏任何的文件节点,不会出现重复的搜索路径,并且保持了较高的搜索效率,在拷贝时对整个文件夹进行遍历,从而实现了整个文件夹的拷贝。
  
  4. 结束语
  
  本文讨论了高端USB拷贝机和低端BIN文件写入程序的不足,并提出了一种文件并行写入的解决方案,可以很好地解决文件拷贝问题。用C++编写的软件封装了动态链接库,跨平台兼容性好,移植性更加优良,同时具有高速的文件传输速度,实时性良好,能够提供给客户自由和完善的使用空间,完成了基于USB接口的资料共享和交换的目的。
  
  参考文献:
  [1]Xteam(China)Software Technology limited company.Qt programming.Beijing:QTsinghua Universily Press,2002.
  [2]Blanchette.J,Summerfield.M.C++GUI Programming with Qt 4(2nd).London:prentice hall,2008.
  [3]The Writing Group of Posts and Telecom press.Windows API Function reference manual.Beijing:Posts and Telecom pre-ss.2002.

(责任编辑:南粤论文中心)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容