sysv-ipc

    4熱度

    3回答

    我寫信消息隊列 if (msgsnd(q, &msg, sizeof(message), slaves_list[to]) == -1) 和閱讀 if (msgrcv(q, &msg, sizeof(message), id, 0) == -1) ,但如果此隊列爲空呢?如何檢查?如果沒有什麼我想執行循環中的下一條指令

    3熱度

    2回答

    我試圖實現一個有生產者和N(N> = 1)個工人的程序。他們使用消息隊列進行通信。 這個想法是生產者發送隊列「任務」。工作人員通過msgrcv()調用來獲取任務並執行一些代碼。在工作人員完成任務之後,它將計算結果發送到隊列。製片人會收到此訊息並保存結果。 我正在使用POSIX消息隊列,並且生產者和工作者同時工作。 這個程序背後的問題是存在一個危及通信的場景。 每條消息的大小約爲5000字節。在UN

    3熱度

    3回答

    我剛剛學習如何使用消息隊列,並且我遇到了一些困難。我使用兩個完全獨立的應用程序來進行測試 - 一個是「發件人」,另一個是「接收器」。 當我運行發件人時,它發送15個字符串到管道,但隨後失敗,出現「資源暫時不可用」錯誤。我只需要在接收端使用消息,但爲什麼只有15條消息?我可能會發送很多消息,所以我想將它增加到一個更大的數字,例如1000左右。 我試圖設置消息隊列的大小爲32767,所以我至少期待31