当我有两个使用同一文件的进程时,如何确保线程安全?

时间:2017-06-02 12:56:18

标签: c# multithreading

我有两个不同的进程共享同一个文件,第一个是Reader,第二个是writer。我在c#中使用StreamWriter和StreamReader,但我有一个例外"该进程无法访问文件' filename'因为它正被另一个进程使用"。 我怎样才能实现线程安全?

2 个答案:

答案 0 :(得分:4)

这与线程安全无关,但与进程间同步无关。使用进程间锁(名为名为Mutex

答案 1 :(得分:0)

我找到了解决方案,对于我使用的作家:

  using (StreamWriter sw = new StreamWriter(Path))
                {
                   //WorkTodo
                }

对于读者来说

using (StreamReader sr = new StreamReader(Path))
                {
                    //WorkTodo
                }