1

我的 erlang 代码中有 gen_server 。当我尝试运行它之后的下一个代码不起作用。例如:

.......
my_server:start_link().
io:format("AAAAAAAAAAAAAAAAAAA"),
.....

现在 io:format/1 不起作用。如果我使用 spawn 运行 gen_server:

......
spawn(fun() -> my_server:start_link() end)
io:format("AAAAAAAAAAAAAAAAA")
......

现在 io:format 工作了。为什么?

谢谢你。

4

1 回答 1

2

我假设start_linkmy_server模块中的函数调用gen_server:start_link/3orgen_server:start_link/4函数。

gen_server:start_link依次调用init您的my_server模块的功能。我猜你的init函数是一个阻塞调用,这就是你的初始代码段没有返回的原因。

于 2011-05-04T02:07:35.677 回答