有人可以逐行解释这个吗?
非常感谢。
run() ->
Pid = spawn(fun ping/0),
Pid ! self(),
receive
pong -> ok
end.
ping() ->
receive
From -> From ! pong
end.
答案 0 :(得分:6)
逐行:
run() ->
声明函数run/0
Pid = spawn(fun ping/0),
使用初始化函数ping/0
生成新进程并将其pid存储到变量Pid
Pid ! self(),
将包含当前流程的pid的消息(self/0
调用的结果)发送到pid存储在变量Pid
receive
等待消息(如果有子句,则等待时间)
pong -> ok
如果收到消息pong,则返回值ok
end.
receive
子句的结尾和点也表示函数run/0
ping() ->
声明函数ping/0
receive
等待留言......
From -> From ! pong
接收任何内容时,将其存储在变量From
中,然后将消息pong
发送到由From
中的值确定的进程(进程执行的pid { {1}}在这种情况下的功能)
run/0
接收结束以及 end.
功能