【发布时间】:2017-10-05 08:01:02
【问题描述】:
我有一个线程可以解析文件夹 A 中的文件并将它们移动到另一个文件夹 B。A 文件夹文件是由我无权访问的另一个程序创建的。 所以有时我无法访问文件夹A文件,因为它们被另一个进程(可能是另一个程序的进程)使用。
你能帮帮我吗?
【问题讨论】:
标签: c# multithreading file thread-safety
我有一个线程可以解析文件夹 A 中的文件并将它们移动到另一个文件夹 B。A 文件夹文件是由我无权访问的另一个程序创建的。 所以有时我无法访问文件夹A文件,因为它们被另一个进程(可能是另一个程序的进程)使用。
你能帮帮我吗?
【问题讨论】:
标签: c# multithreading file thread-safety
除非应用程序用户有权访问它,否则访问任何进程创建的文件都不会出现问题。
您遇到的问题是由于其他程序创建的文件在创建或修改后可能无法正常释放或关闭,因此请确保您的其他程序安全释放资源。
var file = File.Create(path);
file.Close();
此外,在多个线程中访问相同资源时,您需要注意线程安全,因为您有两个不同的进程,您所能做的就是在一个进程中等待,直到文件被另一个进程释放。
【讨论】: