マルチスレッド プログラミングとプロセス間通信メカニズムの初心者です。
async_receive()無限ループで着信データを待機するプログラム(Aとしましょう)があります。
ここで、プログラム A を別のプロセス (B としましょう) から制御したいと考えています。
より正確には、プログラム B がシグナルを送ったときにプログラム A を終了させたいと考えています。そうio_service()すれば、プログラム A がキャンセルされ、プログラム A が終了します。
プログラム A に B からのシグナルを待つスレッドを定義する必要があるようです。
私の質問は、なぜBから信号を受信できるのですか?
message_queue(mq) ( )を使ってみましたboost/interprocess/ipc/message_queue。それで、Bはにメッセージを入れますが、mqプログラムAにデータを読み取るように通知するにはどうすればよいmqですか? mq新しいメッセージがエンキューされたときにハンドラーを呼び出す ことは可能ですか?
つまり、Boost ライブラリを使用して B から A を中断したいのです。ヒントをいただければ、とても助かります。