主要内容

发送

使用数据队列将数据从工作人员发送到客户端

描述

例子

发送(队列数据发送带有值的消息或数据数据parallel.pool.DataQueue指定的队列.调用afterEach将每个挂起消息传递给指定的函数afterEach

例子

发送(pollablequeue数据发送带有值的消息或数据数据parallel.pool.PollableDataQueue指定的pollablequeue.使用以下命令检索结果民意调查(pollablequeue),并返回数据作为答案。

使用发送而且民意调查函数一起使用可轮询的数据队列传输和检索来自不同工作者的消息或数据。

例子

全部折叠

构造一个DataQueue,并呼叫afterEach

q = parallel.pool.DataQueue;afterEach (q, @disp);
开始一个parfor-loop,并发送消息。类传递挂起的消息afterEach函数,在本例中@disp

parforI = 1:3 send(q, I);结束
1 2 3

有关使用侦听数据的详细信息DataQueue,请参阅afterEach

构造一个PollableDataQueue

p = parallel.pool.PollableDataQueue;
开始一个parfor-loop,并发送消息,例如data的值为1。
parforI = 1 send(p, I);结束
投票结果。

调查(p)
1

类检索数据的详细信息PollableDataQueue,请参阅民意调查

此示例显示了一个函数,该函数创建parfor等待吧。创建一个DataQueue,并使用afterEach指定队列每次接收数据时要执行的函数。本例调用更新等待栏的子函数。

创建一个parfor在MATLAB中执行一个计算要求很高的任务®.使用发送在每次迭代时发送一些虚拟数据parfor循环。当队列接收到数据时,afterEach调用nUpdateWaitbar在客户端MATLAB中,可以观察到等待条的进度。

函数a = parforWaitbar D = parallel.pool.DataQueue;H = waitbar(0,“请稍等……”);afterEach (D, @nUpdateWaitbar);N = 200;P = 1;parfori = 1:N a(i) = max(abs(eig(rand(400))));发送(D,我);结束函数nUpdateWaitbar(~) waitbar(p/N, h);P = P + 1;结束结束

输入参数

全部折叠

数据队列,指定为parallel.pool.DataQueue对象。

例子:q = parallel.pool.DataQueue;

从工作者发送到数据队列的消息或数据,指定为任何可以序列化的数据类型。

例子:发送(队列、数据);

可轮询的数据队列,指定为parallel.pool.PollableDataQueue对象。

例子:p = parallel.pool.PollableDataQueue;

版本历史

在R2017a中引入