当使用.NET中可用的内存映射功能在进程执行期间共享进程之间的物理文件(它存在于磁盘上)时,我遇到的问题似乎微不足道。
我的目标是:
目前,我正在使用MemoryMappedFile.CreateFromFile
功能。但是,我注意到有办法检查是否有其他进程已将文件加载到内存中。尝试同时从两个进程加载此文件会导致共享访问冲突。
有CreateOrOpen
函数,但它仅适用于非持久性数据,这不是我的情况。我想象了一个类似Mutex的API,在尝试创建具有相同名称的多个文件或执行类似操作时,该函数会抛出异常。显然,这种方法在这种情况下尚未被采用,那么我还可以用什么来实现我的目标呢?