我有一个上传文件到ftp的程序,在文件很多的情况下,我会打开多个instance,来加快上传速度,可是因为所有文件都在一个目录下,这样有时会导致各个instance同时试图操作一个相同的文件。如何解决这个问题呢?是不是msmq?

解决方案 »

  1.   

    打开instance前  先判断文件是否被打开。
      

  2.   

    感觉你写的是服务器端.
    1.可以考虑的一个角度是判断如果出现并发上传同一个文件的不同部分,可以在服务器端写临时文件,然后进行合并. 
    2.也可以考虑在服务器端做一个数据写入同步的架构,不同的客户端通过一个统一的入口给文件写入端.可以用队列一类的.
    3.也可以考虑把文件做成文件共享内存(不知道windows下面有没,我unix/linux下操作过),这样可以并发写入到共享内存.需要处理好同步.