python 在arcgispro中进行并行处理

在arcgis pro中不能使用多进程处理,会导致打开多个pro,从而出现错误

所以得使用线程进行处理

拷贝示例

from multiprocessing.dummy import Pool as ThreadPool
import multiprocessing, time
 
 
def mainfunc(num):
    starttime = time.time()
    s = 1
    for i in range(1, num):
        s *= i
 
    endtime = time.time()
    return "耗时:{0}".format(endtime-starttime)
 
 
if __name__ == '__main__':
    pool = ThreadPool(multiprocessing.cpu_count())
    listdata = [200000, 200000, 200000, 200000, 200000, 200000, 200000, 200000]
    result = pool.map(mainfunc, listdata)
    pool.close()
    pool.join()
    print(result)

想要使用多进程处理的话得设置如下

问题

将笔记本(python编辑器)赋值到转换到工具箱中,会出现不运行的情况

解决方法:查看函数给的参数是否一致,确保所给参数都可以用到

参考文献

如何简单区分Python多进程与多线程_arcpy阻塞-CSDN博客

基于ArcGIS的python编程 11、利用多进程优化根据Excel表格批量生成点数据,批量裁剪 - 知乎

猜你喜欢

转载自blog.csdn.net/qq_39397927/article/details/134952343