文档

fetchnext

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

句法

[idx,b1,b2,...,bn] = fetchNext(f)
[idx,b1,b2,...,bn] = fetchNext(f,timeout)

描述

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

[idx,b1,b2,...,bn] = fetchNext(f,timeout)等待不超过暂停秒为了结果。如果超时在任何结果可用之前到期,则所有输出参数均为空。

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

如果是F在执行过程中已完成的错误,该错误将被丢弃fetchnext。但是,未来的'读'设置属性真的,以便任何后续的电话fetchnext可以继续。

例子

请求多个功能评估,并在等待完成时更新进度栏。

n = 100;为了idx = n:-1:1%计算n个魔法正方形的等级f(idx)= parfeval(@等级,1,魔术(idx));结尾%构建一个等待箱以跟踪进度h = waitbar(0,“等待fevalfutures完成...”);结果=零(1,n);为了idx = 1:n [poundyedx,this result] = fetchNext(f);%存储结果结果(已完成)= thisResult;%更新Waitbarwaitbar(idx/n,h,sprintf(sprintf)(“最新结果:%D”,this Result));结尾删除(h)

提示

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

在R2013B中引入