您可以使用多处理模块。对于这种情况,我可以使用一个处理池:
from multiprocessing import Poolpool = Pool()result1 = pool.apply_async(solve1, [A]) # evaluate "solve1(A)" asynchronouslyresult2 = pool.apply_async(solve2, [B]) # evaluate "solve2(B)" asynchronouslyanswer1 = result1.get(timeout=10)answer2 = result2.get(timeout=10)
这将产生可以为您完成常规工作的流程。由于未通过
processes,它将为您计算机上的每个CPU内核生成一个进程。每个CPU内核可以同时执行一个进程。
如果要将列表映射到单个功能,请执行以下操作:
args = [A, B]results = pool.map(solve1, args)
不要使用线程,因为GIL会锁定对python对象的所有操作。



