Re: Thread Pool
Javier Santana <[email protected]> Mon, 21 Dec 2009 18:41:54 +0100
| Newsgroups | gmane.comp.python.general.castellano |
|---|---|
| Message-ID | <[email protected]> |
Un ejemplo de uso simple vendr=EDa bien en el c=F3digo. Por otro lado desde que surgi=F3 la "pol=E9mica GIL" ya no he vuelto a usar threads :P 2009/12/21 lasizoillo <[email protected]>: > El d=EDa 21 de diciembre de 2009 15:32, Pepe Aracil <[email protected]> e= scribi=F3: >> Hola. >> >> Hace unos meses escrib=ED esta implementaci=F3n 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=F3n = que no >> es >> reentrante (se protege con un lock), el pool se llena hasta "maxWorkers" >> impidiendo >> que otras funciones se ejecuten. >> >> La idea ser=EDa informar al pool de que una determinada funci=F3n no es >> reentrante para que >> la ponga en una cola a parte =A0y se asegure de que solo se est=E1 ejecu= tando un >> thread >> a la vez con dicha funci=F3n. >> >> =BFAlguna idea de como implementarlo de forma eficiente? >> >> > > Creo que se me est=E1 escapando algo, porque se me ocurre como soluci=F3n > algo muy simple: > =A0- Creas un pool para las funciones reentrantes con el maxWorkers > 1 > =A0- Creas otro pool para las funciones no reentrantes con el maxWorkers = =3D 1 > > Un saludo: > > Javi > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes