Python에서 MATLAB 함수를 비동기식으로 호출하기
이 예제에서는 Python®에서 MATLAB® sqrt
함수를 비동기식으로 호출한 이후에 제곱근을 가져오는 방법을 보여줍니다.
엔진은 기본적으로 MATLAB 함수를 동기식으로 호출합니다. 이 경우 MATLAB 함수가 완료된 경우에만 컨트롤이 Python으로 반환됩니다. 하지만 함수를 비동기식으로 호출할 수도 있습니다. 이 경우 MATLAB이 여전히 함수를 실행하는 동안에도 컨트롤이 즉시 Python으로 반환됩니다. 결과는 Python 변수에 저장되며, 함수가 완료된 후 이를 검사할 수 있습니다.
MATLAB 함수를 비동기식으로 호출하려면 background
인수를 사용하십시오.
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