主要内容

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;

函数句柄,指定当接收到新数据时要调用的函数列表中的函数队列

例子:listener = afterEach(queue, funtocall)

所有回调函数都必须接受数据作为单一参数。

afterEach(队列,@foo)需要一个函数句柄@foo一个函数的形式

函数foo(数据)结束
发送(队列,someData)是对工人的呼唤,someData序列化并发送回客户机。someData在客户端上被反序列化并作为输入传递给foo(数据)

输出参数

全部折叠

监听器对象由afterEach的句柄返回event.listener对象。

介绍了R2017a