我正在用Pytest测试的函数中使用ProcessPoolExecutor。这是一个示例:
from concurrent.futures import ProcessPoolExecutor
def add(x):
return x + 1
with ProcessPoolExecutor(2) as executor:
executor.map(add,range(10))
该函数挂起,因为我在Pytest环境中执行。是将Pytest中的Pools处理如下的最佳方法:
import sys
if 'pytest' in sys.argv[0]:
from concurrent.futures import ThreadPoolExecutor as Executor
else:
from concurrent.futures import ProcessPoolExecutor as Executor
def add(x):
return x + 1
with Executor(2) as executor:
executor.map(add,range(10))