C#(MS Visual Studio 2010)を使用してプロデューサ - コンシューマの問題をシミュレートします。私は2つのexeプログラムを持っています。一つはプロデューサーであり、もう一つはConsumerです。実行中は、プロデューサは100個の整数をキューに挿入し、Consumerはそのキューから順番に削除します。C#で2つのプロセス間で共有キューを使用するにはどうすればよいですか?
私の問題は、2つのプロセス間で共有キューを使用する方法と、いくつかの小さなメッセージを渡すためにプロセス間通信を使用する必要がある場合です(Clipboard、COM、Data Copy、DDE、ファイルマッピング、メールスロット、パイプ、RPC、Windowsソケット)
ありがとうございました!
ありがとうございます。私はIPCについて勉強しているので、マルチスレッドプログラムは必要ありません。私は新しい問題を抱えています。バッファーとしてファイルを使用したいのですが、コンシューマープログラムがそこからデータを読み込みながら、プロデューサープログラムはデータを書き込みます。バッファは常にサイズ制限があるので、データを読み込むたびに1行を削除する必要があります。 Googleはファイルから行を削除すると言いました。一時ファイルに書き換えてから、既存のファイルを上書きする必要があります。ファイルから最初の行を削除するより良い方法はありますか? – Mia
はい、それを循環バッファとして扱います。つまり、開始点と終了点を追跡します(最初は、両方とも正面を指しています)。追加するときは、最後を押し戻します。読んだら、フロントを前方に押してください。バッファーの終わりには、単に折り返します。詳細とリンクについては、http://en.wikipedia.org/wiki/Circular_bufferを参照してください。 –