Erlang 如何手动将消息发送到我刚刚生成的进程?
如何使用Erlang向process发送消息?我确实启动了一个进程,输出显示pid(进程标识符)是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
。
我的问题是如何手动将消息发送到此流程(
)。(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.