Multithreading 用于管理线程的MSMQ?

Multithreading 用于管理线程的MSMQ?,multithreading,msmq,Multithreading,Msmq,我正在构建一个应用程序,在该应用程序中,我可以通过网络(在特定端口上)从打印机获得输入,也可以通过网络或本地文件夹创建其他文件。用户可以创建不同的线程来同时监视不同的文件夹,也可以创建线程来处理网络上三台打印机的输入。应用程序应该根据输入数据的类型处理输入数据并输出数据。在应用程序的另一端,将有4个线程等待来自输入线程(可能是10或20个线程)的输入数据来处理和应用4个不同的任务。 由于我们将同时运行多个线程,我想我将使用MSMQ来管理这些线程。使用MSMQ是否适合此场景,还是应该使用其他技术?

我正在构建一个应用程序,在该应用程序中,我可以通过网络(在特定端口上)从打印机获得输入,也可以通过网络或本地文件夹创建其他文件。用户可以创建不同的线程来同时监视不同的文件夹,也可以创建线程来处理网络上三台打印机的输入。应用程序应该根据输入数据的类型处理输入数据并输出数据。在应用程序的另一端,将有4个线程等待来自输入线程(可能是10或20个线程)的输入数据来处理和应用4个不同的任务。 由于我们将同时运行多个线程,我想我将使用MSMQ来管理这些线程。使用MSMQ是否适合此场景,还是应该使用其他技术?在调度、优先级等方面管理这些线程


(注意:在听说MSMQ之前,我一直在考虑构建自己的ThreadEngine类来处理所有这些事情,但现在还不确定使用MSMQ是否正确)

MSMQ是一个系统消息队列,而不是线程池管理器。

MSMQ是一个系统消息队列,不是线程池管理器。

MSMQ将用于管理输入/输出数据,而不是用于线程。Net已经有、和来帮助您进行并发和多线程处理,因此我建议您阅读这些技术并选择最合适的技术。

MSMQ将有助于管理输入/输出数据,而不是线程。Net已经有了,和将帮助您实现并发性和多线程,因此我建议您阅读这些技术并选择最合适的技术。

如果您并不真的介意性能差,并且正在开发一个任务持久化和事务性的系统来保证执行,那么这可能会很有趣


如果您正在寻找性能,那么我同意其他人的看法,并强烈建议您不要这样做,即使是使用非持久性(ram队列)。

如果您并不真的介意性能不佳,而是真的在系统中使用任务是持久的和事务性的,以保证执行,那么这可能会很有趣

如果您正在寻找性能,那么我同意其他人的看法,强烈建议您不要这样做,即使是使用非持久性(ram队列)