什麼時候嘗試從其消息隊列中提取或回滾消息的進程的「事務」?換句話說,消息隊列中消息的永久消息在哪個執行點上?Erlang消息處理事務
1
A
回答
3
通過接收呼叫讀取它時。
如果消息在消息隊列中,並且被調用接收的進程讀取,那麼它只是內存操作,並且沒有其他進程可以爭用數據,因此它沒有事務性質;沒有必要鎖定或回滾等,但因爲它只是內存操作,所以無關緊要。
您使用的語言讓我擔心您認爲有更多的保證。重要的是要記住,在基本的消息發送和接收級別(OTP可能提供的頂層沒有任何額外的層,或者您可能會自己寫),您發送的消息沒有任何保證,它們將被髮送,或者您發送的進程甚至存在。
相關問題
- 1. 處理消息
- 2. 使用gen_server處理Erlang異步消息:cast/2
- 3. Erlang消息循環
- 4. GWT:處理消息?
- 5. 處理Windows消息
- 6. Firemonkey - 消息處理
- 7. JSP處理消息
- 8. 在Windows服務中處理MSMQ消息
- 9. Django異常處理取消非原子事務處理模式
- 10. 靈活處理一次消息處理
- 11. Java到Erlang的消息
- 12. NServiceBus稍後處理消息
- 13. 同時處理rabbitmq消息
- 14. MSMQ中毒消息處理
- 15. 用碘處理AVL消息
- 16. RabbitMQ批處理消息
- 17. 如何處理Windows消息
- 18. JBoss不處理JMS消息
- 19. NServiceBus延遲消息處理
- 20. SMS - 傳入消息處理
- 21. 處理多條消息
- 22. 如何處理EXCEPT消息?
- 23. UIScrollView消息處理程序
- 24. C++ MFC消息處理
- 25. MessageDrivenBean不處理消息[Wildfly]
- 26. Laravel庫處理消息
- 27. SOAP消息處理程序
- 28. 異步處理消息框
- 29. 處理錯誤消息
- 30. 跟蹤MFC消息處理
這裏有一個相當不錯的寫在機制底層接收這裏:http://ndpar.blogspot.co.za/2010/11/erlang-explained-selective-receive.html – tonys