[pyar] Loop de espera
Claudio Freire
klaussfreire en gmail.com
Vie Dic 3 16:57:55 ART 2010
2010/12/3 Sebastian Bassi <sebastian.bassi en globant.com>
> 2010/12/2 Luis A. Garcia <lagsistemas en gmail.com>:
> > Lo hice de esta forma y de vez en cuando se muere sola, nunca supe
> porque,
> > tengo que estar atento y verificar que sigue activa.
>
> Debe ser por lo que dijo fisa, que te come el procesador. El SO lo
> debe ver como una app. "desbocada" y la mata (al menos cuando una app
> se come toda la RAM el SO la mata, supongo que con el procesador
> pasará lo mismo).
>
Pucha, tengo que controlarme con el double-posting.
El otro tema es que si python está configurado con FAST_LOOPS (que a veces
lo está), eso resulta en 0 ticks por bucle, y 0 ticks por bucle significa
que el thread principal no libera nunca el GIL, y no permite que los otros
threads corran.
Del código de python (ceval.c):
PREDICTED_WITH_ARG(JUMP_ABSOLUTE);
case JUMP_ABSOLUTE:
JUMPTO(oparg);
#if FAST_LOOPS
/* Enabling this path speeds-up all while and for-loops by
bypassing
the per-loop checks for signals. By default,
this should be turned-off
because it prevents detection of a control-break
in tight loops like
"while 1: pass". Compile with this option
turned-on when you need
the speed-up and do not need break checking
inside tight loops (ones
that contain only instructions ending with goto
fast_next_opcode,
PREDICTx or DISPATCH_RETURNx).
*/
goto fast_next_opcode;
#else
CONTINUE;
#endif
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101203/9734df4c/attachment.html>
More information about the pyar
mailing list