Erlang主管:simple_one_for_one和one_for_one重启策略之间的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Erlang主管:simple_one_for_one和one_for_one重启策略之间的区别相关的知识,希望对你有一定的参考价值。

simple_one_for_oneone_for_one重启策略有什么区别?什么时候需要更喜欢一个?

答案

让主管用S表示,工人用W表示。

如果SW1重启策略下监督W2W3one_for_one,并且任何W死亡,只有W重新启动。

one for one

simple_one_for_one重启策略与one_for_one相同。意思是如果一个W只死了W重新启动。唯一的区别是当S开始时,它没有任何Ws。

通过调用W动态添加supervisor:start_child/2s。

什么时候需要更喜欢一个?

  • simple_one_for_one - 你需要一个W按要求提供服务;例如:认证协议
  • one_for_one - 在整个应用程序生命周期中,无论如何都需要专门的W进程。

以上是关于Erlang主管:simple_one_for_one和one_for_one重启策略之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Erlang 主管有一个关键的孩子

如何分发 Erlang 进程(主管行为)?

重新启动 => erlang 主管的瞬态与永久

如何将孩子添加到 erlang 主管?

无法从 shell 生成 erlang 主管

在erlang中注册全局和本地主管之间的区别是什么