主要内容

fetchNext

检索下一个未读的输出未来数组

    描述

    例子

    (idx日元…,) = fetchNext (F检索线性索引idx下一个未读的未来数组中的对象F这就结束了结果,未来作为日元…,

    你只能使用fetchNext未来使用以下方法创建的对象parfeval

    • 一个未来是否为未读属性是.如果F没有未读元素,MATLAB®抛出一个错误。

    • 一个未来结束,如果它的状态属性是“完成”.属性中没有未读元素“完成”状态,MATLAB首先等待的元素F完成。

    fetchNext读取的元素F按照完成的顺序。后fetchNext检索下一个未读的输出未来数组中的对象F, MATLAB设置的属性,未来真正的

    如果fetchNextF遇到错误时,函数首先设置财产的未来元素为true。然后,fetchNext抛出一个错误。

    (idx日元…,) = fetchNext (F超时等待的最大值为超时几秒钟就会有结果F变得可用。

    如果没有元素未来数组F后未读超时秒的过去,idx所有其他输出参数都是空的。

    例子

    全部折叠

    多次运行一个函数,直到找到一个满意的结果。这里指的是期货的数组f当结果大于0.95时被取消。

    N = 100;if (idx) = parfeval(backgroundPool,@rand,1);创建一个随机标量结束结果=南;%还没有结果idx = 1:N [~, thisResult] = fetchNext(f);如果thisResult > 0.95 result = thisResult;拥有了所有需要的结果,所以分手。打破结束结束%有要求的结果,取消任何剩余的期货取消(F)的结果

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

    N = 100;idx = N: 1:1%计算N个幻方的秩F (idx) = parfeval (backgroundPool @rank 1,魔术(idx));结束建立一个等待栏来跟踪进度h = waitbar (0,“等待FevalFutures完成……”);结果= 0 (1,N);idx = 1:N [completedIdx,thisResult] = fetchNext(F);%存储结果结果(completedIdx) = thisResult;%更新waitbarwaitbar (idx / N、h、sprintf (的最新结果:% d 'thisResult));结束删除(h)

    输入参数

    全部折叠

    输入未来对象,指定为平行的。FevalFuture标量或数组。

    你只能使用fetchNext未来使用以下方法创建的对象parfeval

    例子:F = parfeval (backgroundPool @magic 1、3);

    等待的秒数,指定为真正的数字标量。

    例子:超时= 5;

    例子:超时=单(3.14);

    输出参数

    全部折叠

    指数的未来数组,作为整数标量返回。

    future的输出参数。输出的类型取决于与的元素相关联的函数F与指数idx

    的元素F与指数idx必须返回输出参数。要检查有多少输出参数未来已经使用NumOutputArguments财产。

    另请参阅

    |