Discussion:
[pyar] ¿Cómo ser realmente multithreading?
Leandro Poli
2018-09-20 01:30:42 UTC
Permalink
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
Juan Carlos
2018-09-20 03:48:46 UTC
Permalink
http://devdocs.io/python~3.7/library/multiprocessing#multiprocessing.pool.Pool.map_async

Abajo de todo tiene ejemplos, pero basicamente se usa parecido a map()
Post by Leandro Poli
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
import multiprocessing
"""worker function"""
print 'Worker'
return
jobs = []
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
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
Loading...