主要内容

发送

使用数据队列将数据从worker发送到client

描述

例子

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

例子

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

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

例子

全部折叠

构造一个DataQueue,叫afterEach

q = parallel.pool.DataQueue;afterEach (q, @disp);
开始一个parfor-循环,并发送消息。挂起的消息被传递给afterEach函数,在这个例子中@disp

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

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

构造一个PollableDataQueue

p = parallel.pool.PollableDataQueue;
开始一个parfor-循环,并发送一个消息,例如值为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