检索下一个可用的未读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.
函数转换值。