Erlang 如何手动将消息发送到我刚刚生成的进程?

Erlang 如何手动将消息发送到我刚刚生成的进程?,erlang,pid,message-passing,erl,Erlang,Pid,Message Passing,Erl,如何使用Erlang向process发送消息?我确实启动了一个进程,输出显示pid(进程标识符)是。 我的问题是如何手动将消息发送到此流程()。(emacs@yus-iMac.local)100>P=列表到pid(“”)。 (emacs@yus-iMac.local)101>P!aaa。 aaa 而list_to_pid/1确实可以用于构造pid并使用它发送消息,但不鼓励使用: 此BIF用于调试和在Erlang操作系统中使用 系统。不应在应用程序中使用它 更好的方法是在启动流程时保存PID: 1

如何使用Erlang向process发送消息?我确实启动了一个进程,输出显示pid(进程标识符)是
。 我的问题是如何手动将消息发送到此流程(
)。

(emacs@yus-iMac.local)100>P=列表到pid(“”)。
(emacs@yus-iMac.local)101>P!aaa。
aaa

list_to_pid/1
确实可以用于构造pid并使用它发送消息,但不鼓励使用:

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

更好的方法是在启动流程时保存PID:

1> P = spawn(fun() -> receive _ -> ok end end).
<0.34.0>
2> P!hi.
hi
1>P=spawn(fun()->接收->确定结束)。
2> P!你好
你好

除了其他解决方案,REGISTER func可能会有所帮助

    register(regpid,spawn(fun() -> receive _ ok end end).
    regpid ! msg.
您可以向任何地方的regpid发送msg

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