Categories
Python Answers

How to get the return value from a thread in Python?

Spread the love

Sometimes, we want to get the return value from a thread in Python.

In this article, we’ll look at how to get the return value from a thread in Python.

How to get the return value from a thread in Python?

To get the return value from a thread in Python, we can call apply_async and get.

For instance, we write

def foo(bar, baz):
  return 'foo' + baz

from multiprocessing.pool import ThreadPool
pool = ThreadPool(processes=1)

async_result = pool.apply_async(foo, ('world', 'foo')) 

# do some other stuff in the main process

return_val = async_result.get()

to create a thread pool with

pool = ThreadPool(processes=1)

then we create a thread that runs foo with

async_result = pool.apply_async(foo, ('world', 'foo')) 

('world', 'foo') are the args for foo.

And then we call async_result.get to return the value returned from foo.

Conclusion

To get the return value from a thread in Python, we can call apply_async and get.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *