主要内容

afterEach

DataQueueで新規デ,タを受信したときに呼び出す関数の定義

説明

侦听器= afterEach (队列funtocallは,队列が新規デ,タを受信するたびに実行する関数funtocallを指定します。afterEachのそれぞれの呼び出しでキューに新規リスナーが作成されるため,複数の異なる関数を呼び出すように指定することができます。別の関数を指定するには,afterEachをもう一度呼び出します。関数の队列への登録を削除するには,返された侦听器オブジェクトを削除します。

デ,タキュ,を作成したときと同じプロセスでafterEachを呼び出さなければなりません。そうしないと,エラ,が発生します。afterEachを呼び出した後,キュ,内の現在のデ,タがすべて,指定された関数にただ,にディスパッチされます。

すべて折りたたむ

afterEachを呼び出したときに,キュ.afterEachにディスパッチされます。afterEachで指定された関数ハンドルが发送で必ず呼び出されるように,デ,タをキュ,に送信する前にafterEachを呼び出します。

DataQueueを作成し,afterEachを呼び出します。

q = parallel.pool.DataQueue;afterEach (q, @disp);
その後,キュ,にメッセ,ジを送信すると,afterEachで指定された関数ハンドルに各メッセジがただに渡されます。

parforI = 1 send(q, 2);结束
2
发送(q, 3)
3.

最初に各種のメッセ,ジをキュ,に送信することもできます。afterEachを呼び出すと,保留中のメッセ,ジが関数afterEach(この例では関数ハンドル@disp)に渡されます。

q = parallel.pool.DataQueue;parforI = 1 send(q, 2);结束send(q, 3) afterEach(q, @disp);
2 3

DataQueueを作成し,リスナ,を作成します。

D = parallel.pool.DataQueue;监听器= D.afterEach(@disp);

値1を持何らかのデタを送信します。

D.send (1)
1

リスナ,を削除します。

删除(听众)D.send (1)

リスナ,を削除したことによりコ,ルバックが削除されたので,デ,タは返されません。

入力引数

すべて折りたたむ

デタキュ。parallel.pool.DataQueueオブジェクトとして指定します。

例:q = parallel.pool.DataQueue;

関数ハンドル。队列から新規デ,タの一部を受信したときに呼び出す関数のリストに対し,追加する関数を指定します。

例:监听器= afterEach(队列,funtocall)

すべてのコ,ルバック関数は,数据を単一の引数として受け入れなければなりません。

afterEach(队列,@foo)には,次の形式の関数の関数ハンドル@fooが必要です。

函数foo(数据)结束
ワ,カ,上で发送(队列,someData)が呼び出されると,someDataがシリアル化されてクラ@ @アントに送り返されます。someDataはクラesc escアントで逆シリアル化され,入力としてfoo(数据)に渡されます。

出力引数

すべて折りたたむ

afterEachが作成するリスナ,オブジェクト。event.listenerオブジェクトのハンドルとして返されます。

バ,ジョン履歴

R2017aで導入