从 Python 以异步方式调用 MATLAB 函数
此示例说明如何从 Python® 异步调用 MATLAB® sqrt 函数,并稍后检索平方根。
默认情况下,引擎同步调用 MATLAB 函数。仅当 MATLAB 函数完成时,控制权才会返还给 Python。但是,引擎也可以异步调用函数。当 MATLAB 仍在执行该函数时,控制权会立即返还给 Python。引擎将结果存储在 Python 变量中,可以在函数完成后检查该变量。
使用 background 参量异步调用 MATLAB 函数。
import matlab.engine
eng = matlab.engine.start_matlab()
future = eng.sqrt(4.0,background=True)
ret = future.result()
print(ret)
2.0
使用 done 方法检查异步调用是否完成。
tf = future.done()
print(tf)
True
要在函数完成前停止执行,请调用 future.cancel()。
另请参阅
matlab.engine.MatlabEngine | matlab.engine.FutureResult