deepcopy of class inherited from Thread

VYAS ASHISH M-NTB837 ashish.vyas at motorola.com
Mon Oct 12 13:52:42 EDT 2009


 
The function that I want to run is part of a class, not a standalone
function. There are several class member variables also.

Regards,
Ashish Vyas
 

-----Original Message-----
From: python-list-bounces+ntb837=motorola.com at python.org
[mailto:python-list-bounces+ntb837=motorola.com at python.org] On Behalf Of
Mick Krippendorf
Sent: Monday, October 12, 2009 10:52 PM
To: python-list at python.org
Subject: Re: deepcopy of class inherited from Thread

VYAS ASHISH M-NTB837 schrieb:
> I have an object which has a run() method. But I can call it only
once.
> Calling the start() again will give
> 
> RuntimeError: thread already started
> 
> So what is the way to do this?
> 
> I thought of doing a deep copy of the object, as shallow copy will 
> also lead to the above error.
> I tried this:
> - deepcopy the object
> - call start() for the object you got from deepcopy
> - delete the object.
> 
> Is there a simpler way to achieve this?

Indeed, there is:

def threaded():
   """ do threaded stuff here """

Thread(target=threaded).start()
Thread(target=threaded).start()
Thread(target=threaded).start()
Thread(target=threaded).start()
Thread(target=threaded).start()


Now threaded() runs five times.

Python is not Java where one has to subclass from Thread (AFAIR the dark
ages where I used to speak Javanese).


Mick,
--
http://mail.python.org/mailman/listinfo/python-list



More information about the Python-list mailing list