MSMQ 中需要互斥吗?
我正在浏览使用 MSMQ 共享一个队列的两个应用程序的源代码。第一个应用程序有一个线程写入队列,而第二个应用程序有另一个线程从队列读取。通常,如果您正在实现自己的队列,那么应用程序在访问队列时将需要互斥体,对吧?但是,我在这些应用程序的源代码中找不到任何互斥体/关键部分。我是不是错过了什么?或者 MSMQ 不需要任何互斥体,因为它是内部处理的,有这样的事情吗?
I'm browsing source codes from two applications sharing one queue using MSMQ. The first application has a thread that writes into the queue while the second application has another thread that reads from the queue. Ordinarily, if you're implementing your own queue, the applications would need a mutex when accessing the queue, right? However, I could not find any mutex/critical section in the source codes of these applications. Did I just miss something? Or does MSMQ not need any mutex since it is handled internally, is there such thing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MSMQ 文档指出:
MSMQ.Send() 本质上是线程安全的。
来自: Send() 线程安全吗?
The MSMQ documentation states that:
MSMQ.Send() is not inherently thread-safe.
From: Is Send() thread safe?