このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
コンパイルされた MATLAB 関数の非同期での呼び出し
background = True
を渡して、関数 initialize()
から返された Python® オブジェクトを使用するコンパイルされた MATLAB® 関数を非同期で呼び出します。
future = my_client.function_name(in_args, nargout=nargs, stdout=out_stream, stderr=err_stream, background=True)
my_client
—initialize()
から返されたオブジェクトの名前。function_name
— 呼び出す関数の名前。in_args
— 入力引数のコンマ区切りリスト。nargs
— 予期されるサーバーからの結果の数。out_stream
— コンソール出力を受け取る PythonStringIO
オブジェクトerr_stream
— エラー出力を受け取る PythonStringIO
オブジェクト
background
キーワードが True
に設定されている場合、MATLAB 関数は処理キューに配置され、Python Future
オブジェクトが返されます。MATLAB 関数の処理が完了したら、Future
オブジェクトを使用して結果を取得します。
パッケージ copier
の MATLAB 関数 c1,c2= copy(o1,o2)
を非同期で呼び出すには、以下のコードを使用します。
>>> import mutations >>> import matlab >>> myMutator = mutations.initialize() >>> m1 = matlab.double([1,2,3]) >>> m2 = matlab.double([10,20,30]) >>> m3 = matlab.double([100,200,300]) >>> resultFuture = myMutator.mutate(m1,m2,m3, background=Truea) >>> while !resultFuture.done(): ... time.sleep(1) ... >>> result = resultFuture.result()
ヒント
Future
オブジェクトの cancel()
メソッドを使用すると、非同期リクエストをキャンセルできます。