メッセージキューにメッセージがあるかどうかを確認する方法を教えてください。メッセージ キューは、Linux ベースのオペレーティング システムでは C で実装されています。特定の時間にメッセージ キューにメッセージがあるかどうかを確認したいだけです。
質問する
4303 次
1 に答える
8
メッセージの量 (存在する場合) を確認するだけで、
msgctl()
この構造体の msg_qnum は、キュー内のメッセージの量です。例へのリンクは次のとおりです: msgctl example、それはあなたが望む以上のことをしますが、 msgctl() 呼び出しの後、私が上で述べた構造のそのフィールドをチェックする必要があります.
#include <sys/msg.h>
main() {
int msqid = 2;
int rc;
struct msqid_ds buf;
int num_messages;
rc = msgctl(msqid, IPC_STAT, &buf);
num_messages = buf.msg_qnum;
}
この例は、必要なことを行う必要があり、必要なことだけを行う必要があります。
于 2012-09-22T11:35:51.963 に答える