从variab中的线程函数获取结果

2024-06-06 10:33:25 发布

您现在位置: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,第二个线程也返回json。 我想在变量a1和a2中得到它们的结果。 然后我会正常地合并它们

请帮助我:如何在一个变量中得到一个线程的结果

谢谢


Tags: infojsona2targettaskqueuedefa1
1条回答
网友
1楼 · 发布于 2024-06-06 10:33:25

这是修正

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}

相关问题 更多 >