[pyar] Dependencias, threading.Event y sincronizacion

Angel Java Lopez ajlopez2000 en gmail.com
Vie Mayo 24 20:19:08 ART 2013


Hola gente!

Hmmm... Andres, sin saber mucho de Python, yo veria el .join

http://stackoverflow.com/questions/15085348/what-is-the-use-of-join-in-python-threading
http://stackoverflow.com/questions/9447808/waiting-for-threads-to-finish-using-join-pretty-basic

Si funciona como en otras tecnologias, me parece lo mas claro para comenzar.

Nos leemos!

Angel "Java" Lopez
@ajlopez



2013/5/24 Andres Riancho <andres.riancho en gmail.com>

> Pyar,
>
>     Estoy actualmente armando un software que corre una serie de
> tareas que son "parcialmente dependientes" entre ellas, por lo que las
> ejecuto secuencialmente. Lamentablemente esto lleva mucho tiempo y hay
> cosas que me gustaria paralelizar; y por ese lado viene la pregunta.
>
>     Vamos con un ejemplo para que se entienda.
>
> Tarea A:
>     Subtarea A1
>     Subtarea A2
>     Subtarea A3
>
> Tarea B:
>     Subtarea B1
>     Subtarea B2
>     Subtarea B3: Para iniciar subtarea A2 debe haber terminado
>
> Tarea C:
>     Subtarea C1
>     Subtarea C2: Para iniciar subtarea A3 y subtarea B3 deben haber
> terminado
>     Subtarea C3
>
>     Hoy por hoy lo que hago es ejecutar A() , B() , C(). El problema
> de esto es que los tiempos de ejecucion se hacen largos (nada que ver
> con IO o CPU usage), entonces estaba buscando una solucion para
> ejecutar esto en paralelo, cual les parece la mejor solucion?
>
>     De mi investigacion me parecio que se podria usar
> threading.Event() y threads de la siguiente manera:
>
> evento_a2_finalizado = threading.Event()
> evento_a3_b3_finalizados = threading.Event()
> threading.Thread(target=A).start()
> threading.Thread(target=B).start()
> threading.Thread(target=C).start()
>
>     Internamente cuando termina A2 hago un set() de
> `evento_a2_finalizado` y en B3 hago un `evento_a2_finalizado.wait()`.
> Algo similar con el otro evento. De esta manera se ejecutan en
> paralelo varias cosas y gano tiempo.
>
>     Es la primera vez que me topo con un problema como estos, alguien
> con experiencia en Events para contarme que le parece? Otro metodo
> para resolver el problema?
>
>     Gracias!
>
> Saludos,
> --
> Andrés Riancho
> Project Leader at w3af - http://w3af.org/
> Web Application Attack and Audit Framework
> Twitter: @w3af
> GPG: 0x93C344F3
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130524/ba3bff88/attachment.html>


More information about the pyar mailing list