Re: Thread Pool

lasizoillo <[email protected]> Mon, 21 Dec 2009 18:24:36 +0100
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
--===============1586460935==
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

El d=C3=ADa 21 de diciembre de 2009 15:32, Pepe Aracil <[email protected]> =
escribi=C3=B3:
> Hola.
>
> Hace unos meses escrib=C3=AD esta implementaci=C3=B3n de un pool de tarea=
s:
> 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=C3=B3=
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=C3=ADa informar al pool de que una determinada funci=C3=B3n n=
o es
> reentrante para que
> la ponga en una cola a parte =C2=A0y se asegure de que solo se est=C3=A1 =
ejecutando un
> thread
> a la vez con dicha funci=C3=B3n.
>
> =C2=BFAlguna idea de como implementarlo de forma eficiente?
>
>

Creo que se me est=C3=A1 escapando algo, porque se me ocurre como soluci=C3=
=B3n
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 =3D =
1

Un saludo:

Javi

--===============1586460935==
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

_______________________________________________
Lista de correo Python-es =

http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
--===============1586460935==--