Thread Pool

lasizoillo lasizoillo en gmail.com
Lun Dic 21 18:24:36 CET 2009


El día 21 de diciembre de 2009 15:32, Pepe Aracil <pepe en diselpro.com> escribió:
> Hola.
>
> Hace unos meses escribí esta implementación de un pool de tareas:
> http://code.activestate.com/recipes/576910/
>
> Es un pool que crea nuevas threads a medida que se van necesitando.
>
> El caso es que cuando llamo muchas veces seguidas a una misma función que no
> es
> reentrante (se protege con un lock), el pool se llena hasta "maxWorkers"
> impidiendo
> que otras funciones se ejecuten.
>
> La idea sería informar al pool de que una determinada función no es
> reentrante para que
> la ponga en una cola a parte  y se asegure de que solo se está ejecutando un
> thread
> a la vez con dicha función.
>
> ¿Alguna idea de como implementarlo de forma eficiente?
>
>

Creo que se me está escapando algo, porque se me ocurre como solución
algo muy simple:
 - Creas un pool para las funciones reentrantes con el maxWorkers > 1
 - Creas otro pool para las funciones no reentrantes con el maxWorkers = 1

Un saludo:

Javi
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es