我正在使用执行一个函数并发.futures.ThreadPoolExecutor()其中每个线程从站点包加载一个模块。代码是这样的
def execFn(r):
try:
module = sys.modules['xxx.abc']
except KeyError:
module = import_module('xxx.abc') #this will find and load values in sys.modules
....
result = []
rlist = [1,2,3,4,5]
with concurrent.futures.ThreadPoolExecutor(10) as executor:
futureList = {executor.submit(execFn, r):r for r in rlist}
for future in concurrent.futures.as_completed(futureList):
result.append(future.result())
两个线程中的一个能够加载名为xxx.abc公司存在于站点包中,另一个是不能的。是因为一个线程锁定了模块吗?如何解决此问题?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐