parallel.pool.DataQueue
クライアントとワーカーの間でのデータの送信とリスニング
説明
DataQueue
オブジェクトにより、計算の実行中に並列プール内のワーカーとクライアント間で送信されるデータまたはメッセージを非同期で自動処理できます。たとえば、中間値をクライアントに送信して、計算の進行状況を自動計算できます。
並列プールのワーカーからクライアントにデータを送り返すには、まずクライアントに DataQueue
オブジェクトを作成します。この DataQueue
を、parfor
ループ、または spmd
などの他の並列言語構成に渡します。ワーカーから send
を呼び出して、データをクライアントに送り返します。クライアントで、受信したデータを自動処理する関数を afterEach
を使用して指定します。
必要に応じて、
DataQueue
を作成したワーカーまたはクライアントからsend
を呼び出すことができます。DataQueue
は、DataQueue
を作成したクライアントまたはワーカーにのみデータを送信します。ワーカー上にキューを作成し、そのキューをクライアントに送り返すことにより、逆方向の通信を有効にできます。
R2023b より前: ワーカーから別のワーカーにキューを送信することはできません。ワーカー間でデータを転送するには、代わりに
spmd
、spmdSend
またはspmdReceive
を使用してください。その他すべてのハンドル オブジェクトとは異なり、
DataQueue
インスタンスとPollableDataQueue
インスタンスはワーカーに送信されても接続されたままになります。
作成
説明
は、クライアントとワーカー間でのメッセージ (またはデータ) の送信またはリスニングに使用できるオブジェクトを作成します。データを受信するワーカーまたはクライアント上で、q
= parallel.pool.DataQueueDataQueue
を作成します。
プロパティ
例
ヒント
DataQueue
オブジェクトを使用して送信されたデータまたはメッセージは、自動処理のみができます。クライアントまたはワーカー上での受信後にデータを手動で取得するには、代わりにparallel.pool.PollableDataQueue
オブジェクトを使用してデータを送信します。
拡張機能
バージョン履歴
R2017a で導入