Leandro Poli
2018-09-20 01:30:42 UTC
Buenas a todos,
Como en Python tenemos el GIL que evita que dos hilos se ejecuten al
mismo tiempo, y como es costoso (en tiempo y diseño) hacer un programa
que levante procesos de sistema operativo (llamando el intérprete para
ejecutar programas), ¿qué solución existe para ejecutar código en
paralelo en Python?
Estuve viendo el módulo multiprocessing, pero ya que mapea un proceso a
una función y considerando el siguiente ejemplo:
import multiprocessing
def worker():
"""worker function"""
print 'Worker'
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
Si tengo una lista de objetos (ej, Auto), con una función (ej. marchar),
¿cómo hago para ejecutar esa función de cada objeto en un proceso distinto?
Saludos
Como en Python tenemos el GIL que evita que dos hilos se ejecuten al
mismo tiempo, y como es costoso (en tiempo y diseño) hacer un programa
que levante procesos de sistema operativo (llamando el intérprete para
ejecutar programas), ¿qué solución existe para ejecutar código en
paralelo en Python?
Estuve viendo el módulo multiprocessing, pero ya que mapea un proceso a
una función y considerando el siguiente ejemplo:
import multiprocessing
def worker():
"""worker function"""
print 'Worker'
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
Si tengo una lista de objetos (ej, Auto), con una función (ej. marchar),
¿cómo hago para ejecutar esa función de cada objeto en un proceso distinto?
Saludos