This library provides simple deferred result.
Create deferred result:
def_result = DeferredResult[str]()
Then you can wait for the result using optional timeout:
result = def_result.wait(timeout=1)
While waiting for result other thread can set result:
After resolving result all threads waiting for result will be resumed.
It is also possible to reject deferred result:
In that case all threads waiting for result will be resumed and exception passed to
reject will be thrown.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.