【问题标题】:Receive multiple messages in an Erlang process在一个 Erlang 进程中接收多条消息
【发布时间】:2016-04-29 12:59:09
【问题描述】:

我无法理解如何使用 Erlang 进程接收多条消息。这是我在 shell 中尝试过的:

1> GetMessage = spawn(fun() -> getMessage() end).
<0.252.0>
2> GetMessage ! msg.
Got a message
msg
3> GetMessage ! msg
msg

getMessage/0 的代码:

getMessage() ->
  receive
    _ ->
      io:format("Got a message~n", [])
end.

如何继续接收消息?

【问题讨论】:

    标签: erlang


    【解决方案1】:

    啊,明白了:

    getMessage() ->
      receive
        _ ->
          io:format("Got a message~n", [])
          getMessage() % Add this line!
    end.
    

    收到消息后需要再次调用该函数。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 2019-02-08
      • 1970-01-01
      • 2016-03-19
      • 2021-08-06
      相关资源
      最近更新 更多