且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python:如何从线程函数中获取多个返回值

更新时间:2023-08-18 08:37:04

你应该使用 queue 用于从线程中检索数据,这里有一个使用包装器将函数中的值存储到队列中的示例:

You should use a queue for retrieve data from threads, here you have an example using a wrapper to store values from the functions into a queue:

import threading
import queue

my_queue = queue.Queue()

def storeInQueue(f):
  def wrapper(*args):
    my_queue.put(f(*args))
  return wrapper


@storeInQueue
def get_name(full_name):
   return full_name, full_name



t = threading.Thread(target=get_name, args = ("foo", ))
t.start()

my_data = my_queue.get()
print(my_data)

这里有实时工作示例