【发布时间】:2018-11-06 12:08:57
【问题描述】:
我仍在尝试处理 Erlang 消息,在玩弄它的同时,我想出了这个案例。看起来它应该可以工作,但它只是无限期地挂起。
可以请更习惯 Erlang 的人解释我做错了什么吗?是的,我知道我什至不看返回的内容。这是试图减少代码以隔离问题的结果。
-module(test).
-export([caller/2]).
callee(V1, V2, From) ->
From ! {V1, V2}.
caller(V1, V2) ->
spawn(fun() ->
callee(V1, V2, self()) end),
receive
_ ->
{V1, V2}
end.
【问题讨论】:
-
尝试将调用移至衍生进程之外的
self()。 -
谢谢,非常有道理!您可以将其发布为答案吗?
标签: erlang