[pyar] Threads o Multiprocessing?

Daniel Moisset dmoisset en machinalis.com
Vie Oct 21 13:17:30 ART 2011


2011/10/21 Martin Cerdeira <martincerdeira en gmail.com>

> 2011/10/21 Claudio Freire <klaussfreire en gmail.com>
>
>> 2011/10/20 Martin Cerdeira <martincerdeira en gmail.com>:
>> > Se que es una pregunta tipica y, vi que en internet la han hecho, pero
>> > quisiera la opinión de uds. Supongamos que tengo una aplicación que
>> tiene
>> > que ejecutar n procesos. Pero, no los quiero ejecutar linealmente, sino
>> que
>> > quiero poder tener un hilo de ejecución por cada uno, o sea, n hilos.
>> > Qué usarían? Threading? Multiprocessing? Otro?
>>
>> Con la información que diste, no se puede decir nada.
>> Multiprocessing y multithreading cada uno tiene sus pros y contras, es
>> imposible decir qué te vendrá mejor pues no dijiste nada de lo que
>> pensás hacer.
>>
>> Tu pregunta suena como: ¿Que me conviene? ¿Una computadora o un celular?
>>
>>
> No quería aburrir con detalle, pero, se ve que por acortar me quedé
> demasiado corto con la data.
> El programa lo que hace es (va a hacer, porque no lo empecé a programar[0])
> lee una tabla de SQL y, por cada registro realiza una operación que, está
> definida por el usuario, puede ser llamar un script, llamar a un webservice,
> etc. Es como si fuera un DTS, donde, tenés una conexion de origen, una de
> destino y, en el medio podés hacer transformaciones de datos, llamar a
> scripts que hagan "cosas" con esos datos como llamar a un webservice, grabar
> un archivo, no se, lo que se te ocurra.
>

Correr un script, grabar un archivo, esperar la respuesta de webservice, son
todas operaciones de I/O (sobre un pipe, archivo, socket respectivamente), y
por lo tanto liberan el GIL mientras un thread las espera.

A menos que lo que hagas al medio sea computacionalmente intenso y en python
puro, o que haya mas casos que no mencionaste yo no me calentaria mucho por
el GIL

Saludos,
   D.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111021/68cd5e93/attachment.html>


More information about the pyar mailing list