我有以下查询,我需要有人帮助我。我是消息队列的新手,最近开始研究 Kestrel 消息队列。 据我了解,线程和消息队列都用于应用程序中的并发,那么使用消息队列比多线程有什么优势?
请帮忙 谢谢。
最佳答案
消息队列允许您在程序之外进行通信。
这允许您将生产者与消费者分离。您可以将要完成的工作分散到多个进程和机器上,并且您可以管理/升级/移动这些彼此独立的程序。
消息队列通常还由一个或多个代理组成,这些代理负责分发您的消息并确保消息不会丢失,以防万一发生不好的事情(例如,您的程序崩溃,您升级其中一个程序等)
消息队列也可能在程序内部使用,在这种情况下,它通常只是一种将数据从生产者线程交换/排队到消费者线程以进行异步处理的工具。
关于multithreading - 为什么使用消息队列而不是多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4828064/