Why doesn't threading.join() return a value?

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri Sep 2 11:45:22 EDT 2011


Roy Smith wrote:

> I have a function I want to run in a thread and return a value.  It
> seems like the most obvious way to do this is to have my target
> function return the value, the Thread object stash that someplace, and
> return it as the return value for join().
> 
> Yes, I know there's other ways for a thread to return values (pass the
> target a queue, for example), but making the return value of the
> target function available would have been the most convenient.  I'm
> curious why threading wasn't implemented this way.

Because then the code launching the thread would have to block, waiting
until the thread is completed, so it will have a result to return.


-- 
Steven




More information about the Python-list mailing list