Tôi quan tâm đến các phương pháp học tập để sử dụng toàn bộ sức mạnh xử lý đa lõi có sẵn trên máy tính để bàn. Arc tuyên bố rằng việc xử lý địa lý nền cho phép người dùng sử dụng nhiều lõi, tuy nhiên, về cơ bản, các nhiệm vụ phải chờ xếp hàng để hoàn thành nhiệm vụ trước đó.
Có ai đã phát triển các phương thức xử lý địa lý song song hoặc đa luồng trong Arc / Python chưa? Có các tắc nghẽn phần cứng ngăn chặn xử lý đa lõi trên các tác vụ riêng lẻ không?
Tôi đã tìm thấy một ví dụ thú vị trong Stackoverflow thu hút sự quan tâm của tôi, mặc dù đó không phải là một ví dụ về địa lý:
from multiprocessing import Pool
import numpy
numToFactor = 976
def isFactor(x):
result = None
div = (numToFactor / x)
if div*x == numToFactor:
result = (x,div)
return result
if __name__ == '__main__':
pool = Pool(processes=4)
possibleFactors = range(1,int(numpy.floor(numpy.sqrt(numToFactor)))+1)
print 'Checking ', possibleFactors
result = pool.map(isFactor, possibleFactors)
cleaned = [x for x in result if not x is None]
print 'Factors are', cleaned
this is not meant to discourage
.