内存映射流-等待数据到达



我试图使应用程序A将字节数组写入内存映射流,应用程序B然后读取这块内存。我已经达到了它们可以读写的地步,但问题是我不能让应用程序B等待新数据到达,现在它只是尽可能快地读取。

在搜索了一会儿之后,我发现你可以给MemoryMappedStream.BeginRead分配一个回调,但我不确定如何使用这个回调来等待来自流的新数据。如何在这种情况下进行回调呢?还是我找错方向了?

多亏了MatthewWatson,我研究了EvenWaitHandles,并设法使用两个AutoResetEvents使进程等待彼此的信号。其中一个用于读取时设置MemoryReadEventWaitHandle,另一个用于写入时设置MemoryWrittenEventWaitHandle。这样他们就不会互相干扰,并按正确的顺序执行任务。

相关内容

  • 没有找到相关文章

最新更新