deepcopy of class inherited from Thread
Mick Krippendorf
mad.mick at gmx.de
Mon Oct 12 13:22:23 EDT 2009
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,
More information about the Python-list
mailing list