是否有更好的方法来处理读取/写入文件的多个进程

时间:2011-02-18 03:46:52

标签: c#

我有3个进程,每个进程都监听数据提要。接收数据后,所有3个进程都需要读取和更新同一个文件。这3个过程一整天都在运行。显然,每个进程都需要对文件进行独占读/写锁定。

我可以使用“named mutex”来保护文件的读/写,或者我可以使用FileShare.None打开文件。

这两种方法有效吗?哪一个更好?

程序是用C#编写的,可以在Windows上运行。

3 个答案:

答案 0 :(得分:1)

为此使用命名的互斥锁。如果您在一个进程中使用FileShare.None打开该文件,其他进程将在尝试打开该文件时抛出异常,这意味着您必须在这些进程中处理等待和重试等。

答案 1 :(得分:0)

我同意命名的互斥锁。等待/重试文件访问非常繁琐且容易出现异常,而命名的互斥解决方案非常简洁明了。

答案 2 :(得分:0)

“monitor”是你选择的一个,因为它是同步问题的解决方案。