发送

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

描述

发送(队列数据发送具有值的消息或数据数据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发送(Q,I);结束;
1 2 3

有关听力的更多详细信息使用数据DataQueueafterEach

构建PollableDataQueue

P = parallel.pool.PollableDataQueue;
开始一个PARFOR-loop,并发送一个消息,例如,其值为1的数据。
PARFORI = 1个发送(P,I);结束
民调结果。

轮询(P)
1

有关使用检索数据的详细信息PollableDataQueue轮询

这个例子表明,创建了一个功能PARFOR等待吧。创建一个DataQueue和使用afterEach指定函数的每个队列接收数据的时间来执行。此示例调用一个子功能,更新的等待吧。

创建一个PARFOR-loop开展MATLAB计算一个艰巨的任务®。用发送上发送的每个迭代一些虚拟数据PARFOR-循环。当队列接收数据,afterEach电话nUpdateWaitbar在客户端MATLAB,你可以观察等待吧进展。

功能一个= 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,I);结束功能nUpdateWaitbar(〜)waitbar(P / N,H);P = P + 1;结束结束

输入参数

全部收缩

数据队列,指定为parallel.pool.DataQueue目的。

例:Q = parallel.pool.DataQueue;

消息或数据从工人到数据队列,指定为可序列化的任何数据类型。

例:发送(队列,数据);

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

例:P = parallel.pool.PollableDataQueue;

介绍了在R2017a