请教大神!!C#多线程读同一个文件夹,并文件夹中文件复制出去

lanbinyang9194 2016-01-14 10:35:48
先介绍我的程序实现的功能:
假设现有文件夹A和文件夹B,文件夹A中又存在子文件夹A1、A2、A3,文件夹B中又存在B1、B2、B3。我定时扫描文件夹A,若A1,A2,A3中存在文件(从别处发过来的),则将他们自动对应的摆渡到文件夹B1,B2,B3。
分割线
现在存在一个问题,如果A从别处发了一个很大的文件到A1文件夹,需要发很长时间,那么我的程序扫描到A1文件夹中有文件,但还在继续往里面写入,就会等待文件写完,再将其摆渡至B1,此时,若A2中也有文件,则会等待A1中的文件摆渡完了才会去执行摆渡A2中的文件。因为是单一线程,foreach只能一个文件夹一个文件夹的去遍历。
分割线
请问可不可以开多个线程,当第一个线程等待A1拷贝时,第二个线程就去摆渡A2的文件。应该怎么写,最好附源码,谢谢。
分割线
感谢耐心看完。
...全文
255 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
knf 2016-01-15
  • 打赏
  • 举报
回复
单线程定时执行就好了,没必要多线程。
Justin-Liu 2016-01-15
  • 打赏
  • 举报
回复
看来你不知道FileSystemWatcher的存在
cheng2005 2016-01-15
  • 打赏
  • 举报
回复
单线程就够了,只是不要做无畏的等待,哪里完成了弄哪里就好了
threenewbee 2016-01-14
  • 打赏
  • 举报
回复
多线程没有意义,不能提高性能。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧