[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