2 つのスレッドを使用して Python プログラムから Octave 関数を呼び出そうとしました。私のオクターブコードは、それがどのように機能するかを確認するためのものです-
testOctave.m
function y = testOctave(i)
y = i;
end
そして、pythonプログラムはそれを呼び出そうとします
from oct2py import octave
import thread
def func(threadName,i) :
print "hello",threadName // This printf works
y = octave.testOctave(i)
print y // This is ignored
print 'done' // This is ignored
print 'exiting' // This is ignored
try:
thread.start_new_thread( func, ("Thread-1", 100 ) )
thread.start_new_thread( func, ("Thread-2", 150 ) )
except:
print "Error: unable to start thread"
プログラムはエラーを出さずに終了しますが、上記の関数では、最初の出力のみが実行され、オクターブ呼び出しに続くすべての出力は両方のスレッドによって無視されます。これが発生する理由はありますか?それを機能させるにはどうすればよいですか?
プログラムは特に何もしません。私は oct2py の操作方法を理解しようとしています。