我正在使用这个多处理脚本:
测试类
from multiprocessing.pool import Pool
class Test:
def __init__(self):
print("init")
def getData(self, x, ID):
return x + str(ID)
def process(self):
pool = Pool(processes=10)
IDList = range(10)
data = []
for ID in IDList:
async_result = pool.apply_async(self.getData, ("wordl", ID))
data.append(async_result.get())
return data
主脚本
from TestClass import Test
def main():
test = Test()
test.process()
if __name__ == '__main__':
main()
当我运行此文件时,它会一直运行。我发现Windows是问题所在:
刚刚在Win 7 anaconda pyscripter上找到了这个问题 2.6.0 Pyscripter生成一个.pyc文件,这是每次运行程序时重新运行的文件,只是删除它并且它对我来说很好(source)
有没有办法向此脚本添加代码,以便它可以在Windows上运行?我尝试使用sys.dont_write_bytecode = True
,但这不起作用。