如何在.NET中锁定非托管内存

时间:2012-04-17 08:59:18

标签: .net-4.0 asp.net-4.0 shared-memory

我正在考虑使用MemoryMappedFile在多个进程之间共享内存 虽然一个过程是读写(以及更多),但我不希望其他进程访问内存。

如果有可能,我该如何实施呢?

1 个答案:

答案 0 :(得分:0)

在处理进程同步时,通常使用MutexSemaphore等同步对象。 Named mutex可以在进程之间共享,并提供您想要的内容,特别是如果您在不同进程上运行托管代码和非托管代码。

但请注意,具有更多权限的进程创建的互斥锁将无法访问权限较少的进程。当您在具有某种管理权限的Windows服务上创建互斥锁时会发生这种情况,然后尝试从作为网络服务启动的IIS Web应用程序访问互斥锁。