Windows 多次读取内存映射文件

Windows 多次读取内存映射文件,windows,memory-mapped-files,Windows,Memory Mapped Files,我正在尝试编写一个应用程序,它打开一个内存映射文件,并在每次新数据来自其他应用程序时读取它 我的问题是我的应用程序如何知道新数据何时进入读取,或者它只是不断循环和读取,希望有一天它会看到新数据 Windows提供了什么样的机制来处理内存映射文件的重复读取 谢谢,您可以让正在更新内存映射文件的程序在写入新数据时引发事件,并让其他程序订阅该事件。然后,当它收到事件通知时,它将从内存映射中读取 MSDN中有一个示例项目展示了如何做到这一点 我创建了一个库,允许使用共享内存映射文件进行进程间通信,其中两

我正在尝试编写一个应用程序,它打开一个内存映射文件,并在每次新数据来自其他应用程序时读取它

我的问题是我的应用程序如何知道新数据何时进入读取,或者它只是不断循环和读取,希望有一天它会看到新数据

Windows提供了什么样的机制来处理内存映射文件的重复读取


谢谢,

您可以让正在更新内存映射文件的程序在写入新数据时引发事件,并让其他程序订阅该事件。然后,当它收到事件通知时,它将从内存映射中读取

MSDN中有一个示例项目展示了如何做到这一点

我创建了一个库,允许使用共享内存映射文件进行进程间通信,其中两个或多个进程可以读取和写入字节数组。它提供了一种写入方法,并在每次有新数据可用时引发一个事件。每个操作都在后台执行,所以应用程序在等待消息时不会阻塞


没有,您必须自己添加。MMF是一种非常低级的互操作机制,您最好使用在MMF之上构建的OS对象,这些对象具有您想要的功能。就像一个命名的管道,我知道了。非常感谢。