标签: erlang otp
simple_one_for_one和one_for_one重新启动策略有何区别?什么时候需要优先选择另一个?
simple_one_for_one
one_for_one
答案 0 :(得分:5)
让主管由S表示,工作人员由W表示。
S
W
如果S监督W1,W2,W3 one_for_one重新启动策略,W中的任何一个死亡,只有W 1}}重新启动。
W1
W2
W3
simple_one_for_one重新启动策略与one_for_one相同。意味着只有一个W死亡,W才重新启动。唯一的区别是S启动时,它没有任何W s。
supervisor:start_child/2。
supervisor:start_child/2
什么时候需要优先选择另一个?
simple_one_for_one - 您需要W根据请求提供服务;例如:身份验证协议
one_for_one - 在整个应用程序生命周期中,无论如何都需要专门的W进程。