Erlang进程间消息接收超时设定
Erlang消息接收函数,一般都会设计成尾递归调用自己的模式。但是这样的模式,如果没有消息则会无限的等待下去,所以为了不无限等待,这里可以加个超时设定,例如:
flush() -> receive _ -> flush() after 1000 -> ok end.
有个特殊情况是,当超时时间设定为0时,程序不是立马退出,而是先将message box中的消息匹配完后,再返回。
更多进程消息信息请戳这里
完美之道,不在于无可增加,而在于无可减少。