Windows 如果共享内存的进程之一被终止,共享内存会发生什么情况?

Windows 如果共享内存的进程之一被终止,共享内存会发生什么情况?,windows,memory,shared-memory,Windows,Memory,Shared Memory,我正在研究共享记忆,这个问题浮现在我的脑海中,所以我想到向专家提问: 如果共享内存的进程之一被终止,共享内存会发生什么情况?如果我们用硬杀伤而不是普通杀伤会发生什么 它是否取决于我们用于共享内存的机制 如果这很重要,我正在Windows上工作。如果另一个进程中至少有一个其他线程具有打开的文件映射句柄,我希望共享内存保持不变。操作系统应该清理它控制的所有资源(句柄、套接字、shm、内存等),而不管进程如何终止。操作系统之外的技术可能没有这种保护。这意味着其他进程将能够使用共享内存块,而不管其他进程

我正在研究共享记忆,这个问题浮现在我的脑海中,所以我想到向专家提问:

  • 如果共享内存的进程之一被终止,共享内存会发生什么情况?如果我们用硬杀伤而不是普通杀伤会发生什么

  • 它是否取决于我们用于共享内存的机制


  • 如果这很重要,我正在Windows上工作。

    如果另一个进程中至少有一个其他线程具有打开的文件映射句柄,我希望共享内存保持不变。

    操作系统应该清理它控制的所有资源(句柄、套接字、shm、内存等),而不管进程如何终止。操作系统之外的技术可能没有这种保护。这意味着其他进程将能够使用共享内存块,而不管其他进程的状态如何?换言之,进程在访问共享内存块时不会有任何相互依赖性??共享内存不施加并发控制;由进程/线程来确保安全访问。通常,您会为此使用互斥对象。如果持有互斥锁的进程发出嘎嘎声,互斥锁将进入其他进程报告的废弃状态。