主要内容

parfeval

在后台运行函数

    描述

    例子

    F= parfeval (backgroundPoolfcnnX1,…,Xm调度函数fcn在后台运行。你可以在MATLAB中运行其他代码®正在运行函数fcn

    要在并行池上运行函数,请参见parfeval(并行计算工具箱)

    parfeval运行函数fcn背景工作人员。有关工人和背景的更多信息,请参见背景的工人

    MATLAB计算函数fcn异步是(日元…,Yn)= fcn(X1,...,Xm),输入和n输出。

    MATLAB返回未来对象F函数之前fcn完成运行。你可以使用fetchOutputs检索结果(日元…,Yn)来自未来。停止运行该函数fcn,使用取消函数。有关期货的更多信息,请参见未来

    F= parfeval (fcnnX1,…,Xm调度函数fcn被运行。

    MATLAB返回未来对象F函数之前fcn完成运行。

    使用此语法可运行为使用并行计算工具箱™而设计的代码。

    • 如果没有“并行计算工具箱”,则不能使用任何并行资源。该函数以串行方式运行。

    • 如果你有并行计算工具箱,parfeval自动使用并行资源。

    例子

    全部折叠

    这个例子展示了如何在后台使用parfeval而且backgroundPool.当您在后台运行一个函数时,您可以同时运行其他MATLAB®代码。

    使用parfeval运行函数魔法(3)并检索一个输出。指定backgroundPool作为在后台运行函数的第一个参数。当你使用parfeval,则创建一个未来对象。

    f = parfeval(backgroundPool,@magic,1,3);

    要从后台检索输出,请使用fetchOutputs.的执行后,MATLAB返回输出魔法就完成了。

    fetchOutputs (f)
    ans =3×38 1 6 3 5 7 4 9 2

    这个例子展示了如何停止在后台运行的MATLAB函数。当你使用parfeval在后台运行一个函数,MATLAB立即返回一个未来对象。长时间运行的函数可以阻止其他函数在后台运行。要停止该函数运行,必须使用取消函数而不是选择现场编辑>执行>停止

    使用parfeval运行暂停(正)没有检索任何输出。指定backgroundPool作为在后台运行函数的第一个参数。当你使用parfeval,则创建一个未来对象。

    f = parfeval(backgroundPool,@pause,0,Inf);

    的状态未来对象。

    f.State
    Ans =“奔跑”

    当你奔跑parfeval,您安排一个函数在后台运行。当后台池没有足够的资源运行该函数时,可以使用未来“排队”状态。当该函数由后台池运行时,将未来“奔跑”状态。

    若要停止该函数在后台运行,请取消未来对象。

    取消f.State (f)
    Ans = 'finished'

    函数现在在“完成”状态。

    输入参数

    全部折叠

    函数要运行,指定为函数句柄。

    例子:FCN = @magic

    输出参数的个数,指定为非负整数标量。

    n是否期望运行输出参数的数量Xm fcn (X1,…)

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    输入参数,以逗号分隔的变量或表达式列表指定。

    输出参数

    全部折叠

    输出未来,作为平行的。未来对象。

    扩展功能