私は最近、Linux メッセージ キューを調査して遊んでいて、なぜそれが起こるのかよくわからないものに遭遇しました!
無限 for ループで msgrcv() を使用してメッセージをチェックし、2 つのメッセージを送信する 2 つのプログラムが実行されている場合、最初に実行されたプログラムは最初のメッセージを受信し、2 番目のプログラムは 2 番目のメッセージを受信しますか? メッセージを送信し続けると、各受信者間で交互に送信されます。
明らかに、1つのプログラムがメッセージを読み取るとすぐにキューから削除されることは理解していますが、すべてが無限にチェックされている場合、誰が/どのようにメッセージを受信するかを決定しますか?
どんな助けでも大歓迎です!