gpt4 book ai didi

c# - 一个进程锁定文件

转载 作者:行者123 更新时间:2023-11-30 19:27:01 25 4
gpt4 key购买 nike

我有一个应用程序同时运行多个进程来读取和写入文件。

private Process PrepareProcess(string workingDirName, string scriptPath, string[] args) {
var process = new Process {
StartInfo = {
WorkingDirectory = workingDirName,
FileName = scriptPath,
Arguments = string.Format(string.Join(" ", args))
}
};
return process;
}

我需要确保文件在同一时间只会被一个进程修改。如何做到这一点?

该进程将运行将修改文件的外部脚本。我不知道如何打开文件。我需要管理正在运行的进程。

谢谢!

最佳答案

您可以使用“命名互斥体”。它可以帮助您说“嘿,等等,我正在处理那个文件!”。您可以等待或忽略该文件,这是您的决定。

看看Mutex class

还值得注意的是,默认情况下,如果您打开文件,FileShare 将为 None,这意味着 在我关闭文件之前不要与任何人共享访问权限。所以当尝试在另一个进程中访问时它会失败。您不能同时修改它。为了防止失败和处理异常,所有使用“Mutex”是一种优雅的方式。

关于c# - 一个进程锁定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com