Threading. Thread does not explicitly provide a way to get a thread to call a function return value, which is required to be implemented by itself.
using a database is a way to let a child thread write data to the database, and the consuming thread to read the data in the database;
If you do not want to use a database, you can use the class's global variables for delivery .
The sample code is as follows:
Import OS
Import Threading
class Subthread ():
data = {}
def __init__ (self):
...
def execute_func (self, key):
# perform various actions
...
ret = ' data to return '
Subthread.data[key] = ret
...
return
class Mainthread ():
...
def call_func (self, key):
obj = subthread ()
thread = Threading. Thread (target = Obj.execute_func, args= (Key,))
Thread.Start ()
Thread.Join ()
resp = Subthread.data[key]
del Subthread.data[key] # must remember to erase
Return resp
Python Gets the return value of the thread call function