Erlang消息处理事务

时间:2015-11-03 09:20:55

标签: erlang

何时是"交易"试图从其被认为提交或回滚的消息队列中获取消息的进程?换句话说,在什么时候执行消息是从消息队列中永久删除的?

1 个答案:

答案 0 :(得分:3)

当接听电话读取时。

如果消息在消息队列中并由调用receive的进程读取,则它只是内存操作,并且没有其他进程可以争用数据,因此它没有事务性质;没有必要锁定或回滚等,但因为它只是内存操作并不重要。

您使用的语言让我担心您认为有更多的保证。重要的是要记住,在基本消息发送和接收级别(没有OTP可能提供的任何额外层或您可能自己编写),您正在发送消息而不保证它们将被传递,或者您要发送到的进程甚至存在。