[Python-ideas] [Value Returning Threard]

MRAB google at mrabarnett.plus.com
Wed May 6 22:51:47 CEST 2009


yoav glazner wrote:
> Hi all,
> 
> My Idea is to have a value returning Thread.
> I'll explain by example.
> <pycode>
> def foo():
>     time.sleep(20)
>     return 'bar'
> 
> value = thread.startValueReturningThread(foo) #i need a better name for 
> the function...)
> 
> #here we do some work
> mg = moonGravity()
> mg.disable()
> 
> #now we need the value that foo returned
> print value #this would be blocking untill foo is done!
> </pycode>
> 
> This feature should provide a way to increase performance when possible 
> with simple syntax.
> 
> What do you think?
> 
I think it would be better if startValueReturningThread() returned what 
we could call a 'deferred result' object:

     result = thread.startValueReturningThread(foo)

If you requested the actual result before it was available then it would
wait:

     print result.value() # or 'result.value'?

It could be implemented using a thread and a queue.



More information about the Python-ideas mailing list