Асинхронный вызов функций MATLAB из Python

Этот пример показывает, как вызвать функцию MATLAB® sqrt асинхронно от Python® и получить квадратный корень позже.

Механизм вызывает функции MATLAB синхронно по умолчанию. Управляйте возвращается к Python только, когда функция MATLAB заканчивается. Но механизм также может вызвать функции асинхронно. Управление сразу возвращается к Python, в то время как MATLAB все еще выполняет функцию. Механизм хранит результат в переменной 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().

Смотрите также

|

Похожие темы