我有多个进程监视MSMQ队列。我想先执行多步操作,如先查看消息,然后根据某些标准接收消息。单个消息可能会传递多个进程的接收标准,以便多个进程可能尝试接收相同的消息。这些操作是否是线程安全的?如果不是,我应该怎么做,以防止一个进程未能收到其他进程已经收到的消息?MSMQ线程安全吗?
7
A
回答
5
操作本身是线程安全的。但是,如果执行多步骤操作,则可能发现结果不一致(例如,查看数据是否在队列中,然后调用接收数据,仅发现它不再存在)。
14
6
您可能感兴趣的文章blog entry我写过这个话题。
总之,MSMQ C++ API是线程安全的,但不是所有的System.Messaging方法都是线程安全的。在博客文章中,我将讨论如何以线程安全的方式调用MessageQueue.Send。
相关问题
- 1. Enum.TryParse - 线程安全吗?
- 2. HtmlCleaner线程安全吗?
- 3. 在Python线程安全吗?
- 4. 是DatagramSocket.send线程安全吗?
- 5. XCGLogger线程安全吗?
- 6. jCaptcha线程安全吗?
- 7. 列表线程安全吗?
- 8. 这些线程安全吗?
- 9. ValueExpression线程安全吗?
- 10. SecureRandom线程安全吗?
- 11. KeyPairGenerator.generateKeyPair()线程安全吗?
- 12. 是TcpClient.Available线程安全吗?
- 13. Swift Calendar线程安全吗?
- 14. 此线程安全吗?
- 15. 线程安全(是吗?)
- 16. RegSetValueEx线程安全吗?
- 17. SecurityContextHolder线程安全吗?
- 18. PCRE pcre_exec线程安全吗?
- 19. SoapHttpClientProtocol线程安全吗?
- 20. python logger线程安全吗?
- 21. SynchronizationContext.Post()线程安全吗?
- 22. Interop.Domino dll线程安全吗?
- 23. udev线程安全吗?
- 24. JMS QueueSender线程安全吗?
- 25. NSSortDescriptor线程安全吗?
- 26. github3py线程安全吗?
- 27. NSKeyedArchiver线程安全吗?
- 28. org.exolab.castor.xml.schema.Schema线程安全吗?
- 29. Keras线程安全吗?
- 30. Guava Table线程安全吗?
请注意:从.NET Framework 4开始,根据MSDN的说法,“只有GetAllMessages方法是线程安全的”。我建议更新答案以反映这一点,这样读者就不会感到困惑。 – Iravanchi 2014-10-01 13:31:03