Python:pool.apply_async()只运行一个线程

时间:2015-02-17 22:45:01

标签: python multithreading

我尝试使用以下样式的python代码。当我用简单的功能测试时,它工作。但是,当我将相同的方法应用于更复杂的函数时,它只运行一个线程。即,我只看到第一个函数(localFunctions.f1)被执行了。我错过了什么? - 一个蟒蛇新手

import multiprocessing as mp
import localFunctions

result_list = []

def get_result(result):
    result_list.append(result)

def apply_async_with_callback():
    pool = mp.Pool(processes=2)
    pool.apply_async(localFunctions.f1, args=(val1, val2, ), callback=get_result)
    pool.apply_async(localFunctions.f2, args=(val3, val4, val5, ), callback=get_result)
    pool.close()
    pool.join()

apply_async_with_callback()

0 个答案:

没有答案