【发布时间】:2011-06-09 05:50:11
【问题描述】:
我有一个处理源目录中的文件夹和文件的单线程程序。有没有办法阻止我的源目录中包含文件的文件夹在我的程序正在处理它时被其他进程修改?我正在考虑在文件夹本身上放置某种排他锁,所以只有我的程序的进程可以使用它。
注意:
我不想阻止根源目录本身,只是该目录顶层的任何文件夹,我可能会在任何特定时刻处理。我仍然希望能够允许外部进程将文件夹添加到源目录,同时我正在处理其他文件夹。
更新:
@Yuri - 是的,这是一个 Windows 程序,确切地说是一个 Windows 服务应用程序。
这具有挑战性和必要性的部分原因是我需要在源目录中的单独目标目录中重新创建我正在处理的任何文件夹的结构。因此,当我的程序正在使用它们时,我不能让任何其他进程修改文件夹和文件。
【问题讨论】:
-
我想知道新的 I/O 事务方法是否有帮助。
-
您的程序可以不锁定文件夹,而是再次扫描内容,以确保自您开始以来没有任何外部更改(检查文件名和日期)