作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到一个使用 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/
对于何时何地优先使用 erlang:make_ref/0 而不是 erlang:unique_integer/0,1 或相反,是否有任何规则? make_refs 上的大多数示例似乎都围绕消息或请求。
对于何时何地优先使用 erlang:make_ref/0 而不是 erlang:unique_integer/0,1 或相反,是否有任何规则? make_refs 上的大多数示例似乎都围绕消息或请求。
我是一名优秀的程序员,十分优秀!