去年我写了一个简单的代码来拼接数百个栅格数据。进展顺利。 上周我拿起这段代码来完成同样的工作,但它没有用。 我复制官方演示:
from multiprocessing import Process
def f(name):
print 'hello', name
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
但是没有反馈,没有报告错误。如果我将多处理模块切换到Thread模块,那就顺利了。 然后我发现该演示可以在Python控制台中运行,但不能在IPython控制台中运行。 PS,我使用WinPython-64bit,并尝试过2.7和3.5版本,两者都有同样的问题。我不能在ArcGIS python控制台中使用多处理模块。 感谢
答案 0 :(得分:0)
我不太了解你的问题。
但是,如果你想使用Thread,你可以试试这个。
from multiprocessing.dummy import Pool as ThreadPool
def f(name):
print 'hello', name
if __name__ == '__main__':
pool = ThreadPool(4) # 4 is number of your CPU core, 4 times faster
names = ['bob','jack','newt'] #prepare your name list
results = pool.map(f, names)
pool.close()
pool.join()