Python opening multiple thread of matlab

tsjuan tanto.sugiarto at gmail.com
Sat Nov 11 08:56:16 EST 2006


Hello Python Users,

I've been trying to run multiple thread of Matlab by calling its com
object
via python. However, I keep getting error message that says Python
can't
find the attribute of certain function that I want to execute in
Matlab.

I know the com function is exist, it works just fine if I don't run
within thread.
Below is my sample code, any helps or comments are appreciated.

Thanks,
Tanto

import threading
from win32com.client import Dispatch


class MyThread ( threading.Thread ):

   def __init__(self,matlab_command):
       self.matlab_command = matlab_command
       self.matlab_object = Dispatch('matlab.application.single')
       threading.Thread.__init__(self)

   def run(self):
       execute = getattr(self.matlab_object,'Execute')
       execute(self.matlab_command)

   def awesome_dud(self):
       execute = getattr(self.matlab_object,'Execute')
       execute(self.matlab_command)


a = MyThread('a=1:1:100')
b = MyThread('b=1:1:200')

# Running matlab function through thread (It's not working)
# =========================================================

a.start()
b.start()
a.join()
b.join()

# Running matlab function not through thread (it's working)
# =========================================================
a.awesome_dud()
b.awesome_dud()




More information about the Python-list mailing list