1
は、プロセスグループにメッセージを送信/ブロードキャストする方法を教えてください。Erlangのプロセスグループにメッセージを送信する方法
説明:
ETS
ストレージがストアユーザーのプロセスIDと{Pid, Rid}
質問
がどのようルームのIDに使用される、チャットルームID
時に収集されますとペアになったすべてのプロセスにメッセージを送信します。ルームID synchrono私たち?
は、プロセスグループにメッセージを送信/ブロードキャストする方法を教えてください。Erlangのプロセスグループにメッセージを送信する方法
ETS
ストレージがストアユーザーのプロセスIDと{Pid, Rid}
がどのようルームのIDに使用される、チャットルームID
時に収集されますとペアになったすべてのプロセスにメッセージを送信します。ルームID synchrono私たち?
同期できません。
あなたはPIDがチャットルームに
ListPid = ets:select(table,[{{'$1','$2'},[{'==','$2',Rid}],['$1']}])
を使用して取り除くユーザーのリストを取得することができますし、あなたがに応じて、リストの内包またはlists:foreach/2
lists:foreach(fun(X) -> X ! Message end,ListPid)
とメッセージを放送することができますあなたがETSで検索を行っている頻度であれば、情報を{Rid、Pid}として保存し、もっと速いかもしれないets:lookup/2を使うことは良い考えです。