アプリケーションAがメモリマップされたストリームにバイト配列を書き込もうとしているとき、アプリケーションBがこのメモリを読み取ります。私は彼らが読んで書くことができるところにいるのですが、問題はアプリケーションBが新しいデータが到着するのを待つことができないということです。今はただちに読み込みます。メモリマップされたストリーム - データが到着するのを待つ
ビットを検索したところ、MemoryMappedStream.BeginRead
にコールバックを割り当てることができましたが、このコールバックを使用してストリームから新しいデータを待つ方法がわかりません。このような状況に対して、どのようにコールバックを行うのでしょうか?または私は間違った方向を見ていますか?
http://stackoverflow.com/questions/30251443/how-to-read-and-write-a-file-using-memory-mapped-file-cが役立つ可能性があります。 –
消費スレッドへの信号として名前付き['EventWaitHandle'](https://msdn.microsoft.com/en-us/library/system.threading.eventwaithandle(v = vs.110).aspx)を使用できますデータが完全に書き込まれたときにそれを知らせる。 (消費スレッドが、データを消費したことを生産スレッドに示すために、別の 'EventWaitHandle'が必要な場合もあります) –
@MatthewWatson間違いなく興味深い可能性があります。アドバイスありがとうございます。 –