2014-05-20 57 views
0

我有一個處理圖像的多線程程序,我想在程序中插入一個隊列以將來自外部程序的請求插入此隊列中,並且圖像處理器的線程將請求從隊列中取出。現在當隊列滿了並且有新的請求到達時,什麼是最好的解決方案?我應該丟棄新舊請求還是隨機請求?在C中管理請求隊列

回答

0

這完全取決於您以及您希望程序如何運作。看看每個決定的結果可能會導致什麼結果,並決定哪一個是較小的罪惡。

0

我建議使用此方法的message broker

您可以將圖像作爲消息發送給此代理,該代理將處理到目標程序的路由,完整的排隊系統以及「完全隊列」問題。

我個人對RabbitMQ做了一些很好的體驗,雖然它可能會爲您的特殊用途帶來一些額外的開銷。你可以看看ZeroMQ以及它可能會更薄一些,更適合你。

要做正確的事情,請確定您真正需要的內容,並查看這些消息代理是否對您當前的情況非常有用 - 從我的角度來看,在我看來他們是,但取決於您的具體要求和實施。

如果你有興趣看看AMQP高級消息隊列協議本身 - 這是所有這些消息代理的基礎,並且非常有趣。