2009-07-14 56 views
1

我正在構建一個應用程序,通過網絡(特定端口)上的打印機輸入以及本地或通過網絡創建到文件夾中的其他文件。用戶可以創建不同的線程同時監視不同的文件夾,也可以通過線程處理來自網絡上三臺打印機的輸入。應用程序應根據其類型處理輸入數據並輸出。在應用程序的另一端,會有4個線程等待來自輸入線程的輸入數據(可能是10或20個線程)來處理和應用4個不同的任務。因爲我們將有許多線程在同一時間運行,所以我想我會使用MSMQ來管理這些線程。在這種情況下使用MSMQ還是應該使用其他技術?在計劃,優先級等方面管理這些線程管理主題的MSMQ?

(附註:我正在考慮構建我自己的ThreadEngine類,它會照顧所有這些東西,直到我聽說MSMQ,它仍然不確定它是否是正確的使用)

+0

語言?框架? – AnthonyWJones 2009-07-14 17:30:47

回答

4

MSMQ是一個系統消息隊列,而不是一個線程池管理器。

6

MSMQ可用於管理您的輸入/輸出數據,而非您的線程。 .Net已經有ThreadPoolCCRTPL協助您進行併發和多線程,所以我建議您閱讀這些技術並選擇最合適的技術。

0

如果您不太在意性能不佳並且確實需要一個系統,其中任務是持久性的並且事務性的以確保執行,那麼這可能很有趣。

如果你正在尋找性能,那麼我同意其他人的觀點,並且非常不鼓勵你這樣做 - 即使是非耐用的(ram隊列)。