クライアントとワーカーの間でデータの送信とリスニングを可能にするクラス
データ キューにより、計算の実行中に並列プール内のワーカーからクライアントにデータまたはメッセージを送り返すことができます。たとえば、計算の中間値と進行状況の指標を取得できます。
並列プールのワーカーからクライアントにデータを送り返すには、まずクライアント内に DataQueue
を作成します。この DataQueue
を、parfor
ループ、または spmd
などの他の並列言語構成に渡します。ワーカーから send
を呼び出して、データをクライアントに送り返します。クライアントで、データを受信するたびに呼び出される関数を afterEach
を使用して登録します。
必要に応じて、コンストラクターを呼び出すプロセスから send
を呼び出すことができます。
ワーカー上にキューを作成し、そのキューをクライアントに送り返すことにより、逆方向の通信を有効にできます。ただし、ワーカーから別のワーカーにキューを送信することはできません。代わりに spmd
、labSend
または labReceive
を使用してください。
その他すべてのハンドル オブジェクトとは異なり、DataQueue
インスタンスはワーカーに送信されても接続されたままとなります。
は引数を取らず、さまざまなワーカーからのメッセージ (またはデータ) の送信またはリスニングに使用できるオブジェクトを返します。データを受信するプロセス内でのみ、コンストラクターを呼び出します。通常のワークフローでは、ワーカーはコンストラクターを呼び出してはならず、代わりに既存の q
=
parallel.pool.DataQueueDataQueue
インスタンスを渡されなければなりません。
parallel.pool.DataQueue
オブジェクトには以下のメソッドがあります。
afterEach | DataQueue で新規データを受信したときに呼び出す関数の定義 |
send | データ キューを使用したクライアントからワーカーへのデータの送信 |
afterEach
| gcp
| labReceive
| labSend
| parallel.pool.PollableDataQueue
| parfor
| poll
| send
| spmd