从变量中的线程函数获取结果

时间:2019-07-05 16:11:16

标签: python

def media_info():
    q = Queue()
    a1 = Thread(target=task_alexa, args=(q,)).start()
    a2 = Thread(target=task_crawl, args=(q,)).start()
    return {**a1, **a2}

第一个线程返回一个json,第二个线程也返回。 我想在变量a1和a2中获得它们两个的结果。 然后我会正常合并它们。

请帮助我:如何在一个变量中获取线程的结果。

谢谢

1 个答案:

答案 0 :(得分:0)

这是更正

import threading
from queue import Queue
from multiprocessing.pool import ThreadPool

def media_info():
    q = Queue()

    pool = ThreadPool(processes=2)

    a1 = pool.apply_async(task_alexa, (q,)) 
    a2 = pool.apply_async(task_crawl, (q,))

    r1 = a1.get()
    r2 = a2.get()

    return {**r1, **r2}