发送消息的Pid二郎(Sending message Pid Erlang)

2019-10-17 13:31发布

我想知道,我怎么能发送邮件使用Erlang处理。 我没有启动一个进程,并且输出显示我的pid是<0.39.0>。 我的问题是如何可以将消息发送到这个过程(<0.39.0>)手动。

任何帮助,将不胜感激

Answer 1:

虽然list_to_pid/1确实可以用于构建一个PID,并用它来发送它的使用不鼓励消息:

这BIF是用于调试和在Erlang的操作系统使用。 它不应该在应用程序中使用。

更好的方法是将其保存PID当您启动过程:

1> P = spawn(fun() -> receive _ -> ok end end).
<0.34.0>
2> P!hi.
hi


Answer 2:

(emacs@yus-iMac.local)100> P = list_to_pid("<0.39.0>").
<0.39.0>
(emacs@yus-iMac.local)101> P!aaa.
aaa


Answer 3:

除了其他的解决方案,REGISTER FUNC也许有帮助。

    register(regpid,spawn(fun() -> receive _ ok end end).
    regpid ! msg.

您可以发送味精regpid无处不在。



文章来源: Sending message Pid Erlang