
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.