【发布时间】:2011-01-20 04:15:18
【问题描述】:
您是否打算防止同时读取/写入由多个进程打开的文件映射内存?
例如,如果内存中的一个字符串是“hello”并且一个进程在其上写入“hi...”,我是否正确地说另一个同时读取的进程可能会得到一个间歇值,例如“hi .lo”?
基本上我要问的是人们如何再次保护这些东西。你打算使用信号量吗?这些是否跨流程工作?
【问题讨论】:
标签: windows winapi memory-mapped-files
您是否打算防止同时读取/写入由多个进程打开的文件映射内存?
例如,如果内存中的一个字符串是“hello”并且一个进程在其上写入“hi...”,我是否正确地说另一个同时读取的进程可能会得到一个间歇值,例如“hi .lo”?
基本上我要问的是人们如何再次保护这些东西。你打算使用信号量吗?这些是否跨流程工作?
【问题讨论】:
标签: windows winapi memory-mapped-files
是的,如果您需要防止多个写入者或避免读取部分更新,则每个进程使用的共享互斥锁/信号量将用于控制对共享数据的访问。
在这篇 MSDN 文章的底部有一些示例代码:Memory-Mapped Files in .NET 4.0
【讨论】: