c# - 与 MemoryMappedFile 并行读写

标签 c# ipc memory-mapped-files inter-process-communicat

如果我在同一个 MemoryMappedFile 中并行读写会发生什么?我是否有必要在阅读之前通过 Mutext 锁定它们,如 MSDN 上的示例所示?

Memory-Mapped Files

最佳答案

从您的内存映射文件创建的每个“ View ”一次只能由一个线程访问,但是您可以创建多个 View 流并且每个线程可以同时写入或读取它。

但是,如果多个 View 同时尝试写入同一位置,您可能会得到相互“混合”的数据。示例中的互斥锁是为了防止这种混合。如果一个应用程序仅写入文件而另一个应用程序仅读取文件,则不需要互斥体,您只需要为多个写入者使用它。

关于c# - 与 MemoryMappedFile 并行读写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31726414/

相关文章:

c++ - 让 C++ 和 WPF 应用程序进行通信的好方法是什么

windows - 具有部分对象(CreateFileMapping)的 I/O 是否比基本 api(Read/WriteFile)更快?

C++:带有内存映射文件的 DLL

c++ - 部分文本上的并发 mmap()

c# - 在Mysql c#中通过多表填充GataGridView

c# - 使用所有依赖项编译 .NET

c# - 我应该如何在 ASP.NET 中记录异常?

c# - 异步更新数据库

c++ - 如何在特定时间段内使用 `accept()` 接受任意数量的连接?

c - 如何阻止在管道中写入,直到读取发生? (在 C 中)