引用

引用是全局唯一的对象。BIF make_ref()返回全局唯一的对象,该对象与系统中以及所有其他(可能存在的)运行着的节点中的所有对象都不相等。针对引用的唯一运算就是相等比较。

例如,我们可以在客户端—服务器模型中采用如下的接口函数:

  1. request(Server, Req) ->
  2. Server ! {R = make_ref(), self(), Req},
  3. receive
  4. {Server, R, Reply} ->
  5. Reply
  6. end.

request(Server,Req)向名称为Server的服务器发送请求Req;请求中包含一个唯一引用R。在接收服务器返回的应答时会校验是否存在该唯一引用R。与服务器端的这种“端对端”的通讯方法可用于确认请求是否已被处理。