因此,例如:
import multiprocessing
def process(lines):
print(something)
if __name__ == '__main__':
something = 'something'
pool = multiprocessing.Pool(10)
with open(r'C:\Users\a\testfiles\test.txt') as lines:
pool.map(process, lines)
我收到一个NameError:名称'something'未定义。
任何人都知道为什么会这样,并且知道解决方法吗?
答案 0 :(得分:0)
multiprocessing.Pool
不是线程池,而是进程池。 Windows不支持分支,因此您必须将something
显式传递给新进程。
如果要使用线程池,请改用from multiprocessing.dummy import Pool
。