主要内容

fetchNext

获取下一个未读的输出未来数组

    描述

    例子

    (idx,日元…,)= fetchNext (F)检索线性指数idx下一个未读未来对象的数组F完成,结果,未来作为日元…,

    你只能使用fetchNext未来对象创建使用parfeval

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

    • 一个未来完成后如果状态属性是“完成”。如果没有未读的元素“完成”状态,MATLAB第一等待一个元素F完成。

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

    如果fetchNext读取的元素F遇到错误,第一集的函数财产的未来元素为true。然后,fetchNext抛出一个错误。

    (idx,日元…,)= fetchNext (F,超时)等待最多超时秒的结果F变得可用。

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

    例子

    全部折叠

    多次运行一个函数,直到找到一个满意的结果。在这种情况下,期货的数组f取消当结果大于0.95。

    N = 100;f (idx idx = N: 1:1) = parfeval (backgroundPool @rand 1);%创建一个随机的标量结束结果=南;%没有结果idx = 1: N [~, thisResult] = fetchNext (f);如果= thisResult thisResult > 0.95结果;%有所需的所有结果,所以休息打破;结束结束%与所需结果,取消剩余的期货取消(F)的结果

    请求数函数评估和更新进度条在等待完成。

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

    输入参数

    全部折叠

    输入未来对象,指定为一个parallel.FevalFuture标量或数组。

    你只能使用fetchNext未来对象创建使用parfeval

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

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

    例子:超时= 5;

    例子:超时=单(3.14);

    输出参数

    全部折叠

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

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

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

    另请参阅

    |