gpt4 book ai didi

elixir - elixir中的make_ref()函数有哪些用法?

转载 作者:行者123 更新时间:2023-12-03 15:45:39 25 4
gpt4 key购买 nike

我看到一个使用 make_ref() 的代码片段,不确定该功能的可用性。

hexdocs说:

Returns an almost unique reference.

The returned reference will re-occur after approximately 2^82 calls; therefore it is unique enough for practical purposes.

Inlined by the compiler.



但是它并没有真正说出我什么时候或为什么要使用它。为什么要使用它?何时使用?在我看来,它所做的只是生成随机数。为什么我不能只使用某种随机数生成器?

这是在终端上执行的操作:
iex(1)> make_ref()
#Reference<0.3569050097.3772514305.191818>
iex(2)> make_ref()
#Reference<0.3569050097.3772514305.191837>
iex(3)> make_ref()
#Reference<0.3569050097.3772514307.194286>

最佳答案

:erlang.make_ref/0 返回在已连接节点中唯一的引用。

它主要是UUID之前的时代的遗留物。就是说,仅仅随机生成器是不够的:它应该在不同的机器上生成独特的东西。

除非您担心内存负载,否则UUID可能是引用的一个很好的选择:引用是way more efficient

而且,调用make_ref可能比处理kinda UUID生成器更方便。

关于elixir - elixir中的make_ref()函数有哪些用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50799883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com