send
データを DataQueue
または PollableDataQueue
に送信
説明
例
バックグラウンドから送信されたデータの自動処理
この例では、バックグラウンドから送信したデータを現在の MATLAB セッションで自動的に処理する方法を示します。
DataQueue
オブジェクトを作成します。現在の MATLAB セッションにおいて、それぞれのデータの項目を DataQueue
で受信した後に、その項目を関数 disp
を使用して自動的に表示します。
q = parallel.pool.DataQueue; afterEach(q,@disp);
この例の最後で定義されている補助関数 magicWithSend
は、魔方陣の和を DataQueue
オブジェクトまたは PollableDataQueue
オブジェクトに送信してから、その魔方陣を返します。
parfeval
と backgroundPool
を使用して関数 magicWithSend
をバックグラウンドで実行します。
f = parfeval(backgroundPool,@magicWithSend,1,q,3);
future から出力を取得するよりも先に和が表示されます。バックグラウンドから出力を取得するには、fetchOutputs
を使用します。magicWithSend
の実行が完了すると、MATLAB は出力を返します。
fetchOutputs(f)
ans = 3×3
8 1 6
3 5 7
4 9 2
補助関数の定義
補助関数 magicWithSend
を定義します。この関数は魔方陣を作成し、その魔方陣の和を DataQueue
オブジェクトまたは PollableDataQueue
オブジェクトに送信します。関数は、和を送信した後に魔方陣を返します。
function X = magicWithSend(q,n) X = magic(n); s = sum(X,'all'); send(q,s); end
入力引数
q
— キュー
parallel.pool.DataQueue
オブジェクト | parallel.pool.PollableDataQueue
オブジェクト
キュー。parallel.pool.DataQueue
オブジェクトまたは parallel.pool.PollableDataQueue
オブジェクトとして指定します。
q
がDataQueue
の場合、現在の MATLAB® セッションでデータを受信したときにafterEach
を使用して自動的にデータを処理します。q
がPollableDataQueue
の場合、現在の MATLAB セッションでデータを受信した後にpoll
を使用して手動でデータを取得します。
例: q = parallel.pool.DataQueue
例: q = parallel.pool.PollableDataQueue
data
— 送信するデータ
スカラー | ベクトル | 行列 | 多次元配列
送信するデータ。スカラー、ベクトル、行列、または多次元配列として指定します。
例: send(q,"A message");
例: send(q,magic(3));
バージョン履歴
R2017a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)