作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
erlang 进程 PID 引用从以以下形式启动的进程返回:
<0.344.0>
有了这样的 PID,如何提取它的三个部分,将其序列化,然后再重组它们?
在我的示例中,我希望:
{A,B,C} = decomposePid(Pid),
% serialize somewhere
% deserialize somewhere
Pid = recompose(A,B,C),
我知道 Pid 可以作为参数等四处发送,但我有序列化需求,需要真正将那些 A、B、C 值从 Pid 中分离出来。
最佳答案
或者使用 erlang:term_to_binary/1
和 erlang:binary_to_term/1
。这取决于您打算如何处理序列化的 pid。使用 pid_to_list
和 list_to_pid
对其进行序列化会产生仅在使用 term_to_binary
和 binary_to_term
时在该 erlang 节点中有效的内容在分布式 erlng 系统中有效。然而,在这两种情况下,序列化的 pid 仅在原始 erlang 节点正在运行时才有效,一旦它终止,序列化的 pid 就没有意义,因为它所引用的进程已经消失。
关于erlang - 如何解耦然后重构 Erlang 进程 PID <A.B.C>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001544/
我是一名优秀的程序员,十分优秀!