parallel.pool.PollableDataQueue

类,使发送和查询客户端和工人之间的数据

描述

PollableDataQueue能够发送和在平行池轮询对工人和客户端之间的数据或信息,同时计算正在被进行。你可以得到一个中间值,计算的进步。

从平行池工作返回给客户端,第一构建一个发送数据PollableDataQueue在客户端。通过这PollableDataQueuePARFOR-loop或其它并行语言结构,如parfeval。从工人,呼叫发送将数据发送回客户端。在客户端,使用轮询检索来自一个工人发送的消息或数据的结果。

  • 您可以拨打发送从调用构造函数,如果需要的过程。

  • 您可以构建在工人队列,并发送回客户端,以便能够在反方向通信。然而,你不能从一个工人发送队列到另一个。用SPMDlabSend, 要么labReceive代替。

  • 与所有其他处理的对象,PollableDataQueue当他们被送到工人情况也保持连接。

施工

p= parallel.pool.PollableDataQueue

一个构造函数PollableDataQueue不采用任何参数,并返回可被用于发送和轮询用于从不同的工人的消息(或数据)的对象。你调用构造函数只有在要接收数据的过程。在平时的工作流程中,工人不应该调用构造函数,而应交由现有PollableDataQueue实例,而不是。

属性

全部收缩

只读,表示如何将数据的许多项目正在等待从队列中删除属性。

例:

pollableQ = parallel.pool.PollableDataQueue;%的队列中没有消息,因为目前尚无发送。pollableQ.QueueLength
ANS = 0
pollableQ.send('一个消息'%现在QueueLength = 1,因为发送一个消息和尚未轮询。pollableQ.QueueLength
ANS = 1
MSG = pollableQ.poll();DISP(MSG)
一个消息
pollableQ.QueueLength%现在QueueLength = 0,因为没有更多的待处理的消息。
ANS = 0

方法

甲parallel.pool.PollableDataQueue对象有以下方法。

轮询 检索工人发送的数据
发送 使用数据队列从工人将数据发送到客户端

复制语义

处理。要了解手柄类如何影响复制操作,请参阅复制对象(MATLAB)。

例子

全部收缩

构建PollableDataQueue

P = parallel.pool.PollableDataQueue;

开始一个PARFOR-loop,并发送一个消息,例如,其值为1的数据。

PARFORI = 1个发送(P,I);结束

民调结果。

轮询(P)
1

有关投票的详细信息为使用数据PollableDataQueue轮询

介绍了在R2017a