Estoy usando ParallelPython para desarrollar un script crítico para el rendimiento. Me gustaría compartir un valor entre los 8 procesos que se ejecutan en el sistema. Disculpe el ejemplo trivial, pero esto ilustra mi pregunta.Valor compartido en python paralelo
def findMin(listOfElements):
for el in listOfElements:
if el < min:
min = el
import pp
min = 0
myList = range(100000)
job_server = pp.Server()
f1 = job_server.submit(findMin, myList[0:25000])
f2 = job_server.submit(findMin, myList[25000:50000])
f3 = job_server.submit(findMin, myList[50000:75000])
f4 = job_server.submit(findMin, myList[75000:100000])
Los documentos PP no parecen describir una forma de compartir datos entre procesos. ¿Es posible?
Si es así, ¿hay un mecanismo de bloqueo estándar (como en el módulo de subprocesamiento) para confirmar que solo se realiza una actualización a la vez?
l = Lock()
if(el < min):
l.acquire
if(el < min):
min = el
l.release
entiendo que podía mantener un mínimo local y comparar el 4 en el hilo principal, una vez vuelto, pero compartiendo el valor que pueda hacer algunos mejores poda de mi árbol binario BFS y potencialmente ahorrar una gran cantidad de iteraciones del bucle .
de Acción de Gracias
Jonathan