Python:pool.apply\u async()只运行一个线程
我试图以以下风格使用python代码。当我使用简单的函数进行测试时,它起作用了。但是,当我将相同的方法应用于更复杂的函数时,它只运行一个线程。也就是说,我只看到第一个函数(localFunctions.f1)被执行。我错过了什么? --巨蟒新手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
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您是说它适用于简单函数,但不适用于复杂函数。我们需要知道你在一个“复杂”的函数中到底在做什么。