主要内容

fetchnext.

检索下一个可用的未读Fevalfuture输出

句法

[IDX,B1,B2,...,BN] = fetchnext(f)
[idx,b1,b2,...,bn] = fetchnext(f,超时)

描述

[IDX,B1,B2,...,BN] = fetchnext(f)等待未读的未读Fevalfuture在期货组中F要完成,然后返回阵列中该未来的线性索引F作为idx.,以及未来的结果B1,B2,...,BN。在此通话之前,'读'特定未来的财产是错误的;之后是真的

[idx,b1,b2,...,bn] = fetchnext(f,超时)等待不超过超时结果可以获得秒。如果在任何结果可用之前过期到期,则所有输出参数都是空的。

如果没有未来F谁的'读'属性是错误的,报告错误。您可以检查是否有任何未读的期货AnyUnRead =〜所有([F.Read])

如果是元素F在执行期间已经完成遇到错误,将抛出该错误fetchnext.。但是,这个未来的'读'属性已设置真的,让任何后续电话fetchnext.可以继续。

例子

请求多个函数评估,并在等待完成时更新进度条。

n = 100;为了idx = n:-1:1%计算n魔方的等级f(idx)= parfeval(@等级,1,magic(idx));结尾%构建一个助栏以跟踪进度h = waitbar(0,'等待Fevalfutures完成......');结果=零(1,n);为了idx = 1:n [indectedIdx,thistresult] = fetchnext(f);%存储结果结果(Addernidx)=这件事;%更新维护栏waitbar(Idx / n,h,sprintf('最新结果:%d',这是一个);结尾删除(h)

尖端

fetchnext.函数从阵列返回将来的线性索引。如果相反,您需要多维数组的下标值,可以使用Ind2sub.函数转换值。

介绍在R2013B.