From: Frank C. <fc...@pu...> - 2003-11-15 00:56:08
|
Thanks for the reply. So I wrote a class using the Java Threading class as: import java.lang.Thread as JThread class myclass( JThread ): def initialize( self, id ): self.id = id def run( self ): for i in range(1000): print slef.id, i a = myclass() a.initialize(1) b=myclass() b.initialize(2) a.start() b.start() When I run this everything works as expected. a and b run concurrently and step on each other's output. Using this design, how can I use mutex and synchronize functions? -Frank On Friday, November 14, 2003, at 04:38 PM, Jeff Emanuel wrote: >> thread.start_new_thread( a.mymethod(), (,) ) >> thread.start_new_thread( a.mymethod(), (,) ) >> >> Is that right? > > I don't know. I use the Java API for threading, but assuming > it is correct... > >> Once the threads finish, does a and b still exist? Can I do something >> like this: >> >> a = myclass() >> b = myclass() >> thread.start_new_thread( a.mymethod(), (,) ) >> thread.start_new_thread( a.mymethod(), (,) ) >> a.mysecond() >> b.mysecond() > > a and b still exist, but in this example you have no way of > telling whether the threads have completed (or even started) > by the time you are calling mysecond. > >> Is the start_new_thread method cloning the a and b objects? > > Definitely not. > > -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone: 408 374 7426 Free open-source test automation solutions that test and monitor Web-enabled applications, especially Web Services, for scalability and reliability. |