No threading.start_new_thread(), useful addition?
Laszlo Nagy
gandalf at shopzeus.com
Thu Oct 8 06:42:55 EDT 2009
Ulrich Eckhardt írta:
> Hi!
>
> I'm looking at the 'threading' module and see that other than the 'thread'
> module it doesn't have a simple function to start a new thread. Instead,
> you first have to instantiate a threading object and then start the new
> thread on it:
>
> t = threading.Thread(target=my_function)
> t.start()
>
> What I'm wondering is if following function wouldn't be a good addition to
> the threading module:
>
> def start_new_thread(target, ..):
> t = Thread(target, ..)
> t.start()
> return t
What is wrong with thread.start_new_thread ? At least it supports
function arguments. Your suggested addition would only useful if you
want to start argument-less functions in separate threads, from multiple
places in a module. This is quite special, not general enough to make
the suggested change. You can use this one-liner:
import threading.Thread as thr
thr(target=my_function).start()
But really thread.start_new_thread is better:
import thread.start_new_thread as thr
thr(my_function,arg1,arg2)
Best,
Laci
More information about the Python-list
mailing list