首页 > 解决方案 > 具有相同 args 和 map_async 说明的两个不同函数

问题描述

我想运行两个函数,它们依次运行对两个不同数据库的查询。这两个函数都采用相同的参数,看来我可以通过利用多处理来加快速度。

但是,我不太确定应该使用哪个多处理类。

我最初查看了 Pool 类,似乎我可以使用map_async(). 但是,我也在这个答案中看到,map_async()在类似的用例中实际上并没有让函数并行运行有人知道为什么吗?:https ://stackoverflow.com/a/44155077/7468886

如果是这种情况,是否有其他可以使用的解决方案?

下面是两个函数。结果返回后,我将它们合并。

    sql_manager = SQLManager()
    sql_results = sql_manager.search_data(
        title=title,
        type=type,
        release_year=release_year)

    mongo_manager = MongoManager()
    mongo_results = mongo_manager.search_data(
        title=title,
        type=type,
        release_year=release_year)

编辑:

这些search_data()函数不运行简单的查询,但实际上如下:

由于该函数完成了所有这一切,它是否仍适用于多处理而不是多线程?

标签: pythonpython-3.xpython-multiprocessing

解决方案


推荐阅读