多対1通信と多対多通信
多対1通信のチャネルでリッスン(待ち受け)し始める.
In[1]:=
listener = ChannelListen["master"]
Out[1]=
複数のセッション(例えば,同じマシンの並列カーネル)からチャネルにメッセージを送信する.
In[2]:=
ParallelEvaluate[ChannelSend["master", $KernelID]]
Out[2]=
受信されたメッセージ.
In[3]:=
listener["Message", All]
Out[3]=
メッセージ交信のダイアグラム.
完全なWolfram言語入力を表示する
Out[5]=
複数の並列カーネルセッション内の同じチャネルでリッスンし始める.
In[6]:=
ParallelEvaluate[l = ChannelListen["all"]]
Out[6]=
すべての並列カーネルがそれぞれのIDをチャネルに送信するようにする.
In[7]:=
ParallelEvaluate[ChannelSend["all", $KernelID]]
Out[7]=
それぞれのカーネルIDとともにリスナによって受け取られたメッセージ.
In[8]:=
ParallelEvaluate[$KernelID -> l["Message", All]]
Out[8]=
交信のダイアグラム.
完全なWolfram言語入力を表示する
Out[9]=