【发布时间】:2017-02-22 17:47:10
【问题描述】:
我试图让应用程序 A 将一个字节数组写入内存映射流,然后应用程序 B 读取这块内存。我已经到了他们可以读写的地步,但问题是我无法让应用程序 B 等待新数据到达,现在它只是尽可能快地读取。
经过一番搜索后,我发现您可以为MemoryMappedStream.BeginRead 分配回调,但我不确定如何使用此回调来等待来自流的新数据。对于这种情况如何进行回调?还是我看错了方向?
【问题讨论】:
-
stackoverflow.com/questions/30251443/… 可能会对您有所帮助。
-
你可以使用一个名为
EventWaitHandle的信号给消费线程,告诉它数据何时被完全写入。 (您可能还需要另一个EventWaitHandle用于消费线程,以向生产线程表明它已经消费了数据) -
@MatthewWatson 绝对看起来很有趣,谢谢你的建议。
标签: c# callback stream shared-memory memory-mapped-files