Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:pool.apply\u async()只运行一个线程_Python_Multithreading - Fatal编程技术网

Python:pool.apply\u async()只运行一个线程

Python:pool.apply\u async()只运行一个线程,python,multithreading,Python,Multithreading,我试图以以下风格使用python代码。当我使用简单的函数进行测试时,它起作用了。但是,当我将相同的方法应用于更复杂的函数时,它只运行一个线程。也就是说,我只看到第一个函数(localFunctions.f1)被执行。我错过了什么? --巨蟒新手 import multiprocessing as mp import localFunctions result_list = [] def get_result(result): result_list.append(result) d

我试图以以下风格使用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()

你不需要一个
如果在那里的某个地方你的
localFunction.f1
localFunction.f2
?@图:是的,我用了if name=='main'。if name='main':apply_async_with_callback()@ozgur:这些是我编写的函数,用于执行各种操作,例如,对一些服务器使用SSH并运行一些命令,等等。@snake.new您是说它适用于简单函数,但不适用于复杂函数。我们需要知道你在一个“复杂”的函数中到底在做什么。