以下の内容はhttps://higepon.hatenablog.com/entry/20090917/1253172449より取得しました。


Erlang gen_server の call/reply ベストプラクティス

Erlang Forum - Trap Exit ~ View topic - gen_server call and replyメーリングリストで、多くのレスポンスをさばけるように gen_server がなるべくブロックしない方法について書かれている。


要約すると

  1. レスポンスを返す処理が必要な情報を渡しつつ spawn してレスポンス作成プロセスを立ち上げる(A)
  2. handle_call では spawn 後、即座に no-reply を返す
  3. (A) はレスポンス作成後 gen_server:reply/2 で結果を返す

という方法。


言われてみれば当たり前なのだが、中々面白かった。
gen_server がブロックしてしまい、デッドロックになる問題が良く発生するのでぜひ利用したい。


ところで、この辺りの実用的な話はどこかにまとまっていないのかな。ML 見るのが正攻法?




以上の内容はhttps://higepon.hatenablog.com/entry/20090917/1253172449より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14