Duda con for( ; ; )
Publicado por tipitipi (15 intervenciones) el 03/03/2009 20:45:37
Hola a todos:
Busco ayuda ó aclaración. Espero que me puedan ayudar . . . y si no es así, gracias de todas formas.
Sistema Operativo UNIX.
Mi problema/duda, es el siguiente:
Tengo una palicación desarrollada en ANSI C que está funcionando continuamente dentro de un bucle infinito. El problema que tengo es que si hago un "top" esta aplicación, consume el 99% de la CPU y hciendo pruebas he podido comprobar que es la recursividad de este bucle lo que me genera este problema.
Hay alguna forma de hacer algo para que no consuma tantos recursos ?
Es posible que haya alguna instrucción para liberar recursos de la máquina que se pudiese aplicar al final del "for" ( antes de ejecutar una nueva pasada al bucle infinito )
En fin, a continuación expongo de forma esquemática la estructura del código que utilizo en mi aplicación:
void main()
{
//Leer configuración . . . .
//Conexion con base de datos . . . .
for ( ; ; )
{
//Consulta a la base de datos si hay nueva orden para procesar
//Si no hay nueva orden GOTO FIN;
//Si hay nueva orden, la procesa
//Procesa nueva orden . . . .
// . . . y borra/inicializa variables globales
FIN:
}
}
Muchas Gracias por Todo y Saludos Cordiales !!
Busco ayuda ó aclaración. Espero que me puedan ayudar . . . y si no es así, gracias de todas formas.
Sistema Operativo UNIX.
Mi problema/duda, es el siguiente:
Tengo una palicación desarrollada en ANSI C que está funcionando continuamente dentro de un bucle infinito. El problema que tengo es que si hago un "top" esta aplicación, consume el 99% de la CPU y hciendo pruebas he podido comprobar que es la recursividad de este bucle lo que me genera este problema.
Hay alguna forma de hacer algo para que no consuma tantos recursos ?
Es posible que haya alguna instrucción para liberar recursos de la máquina que se pudiese aplicar al final del "for" ( antes de ejecutar una nueva pasada al bucle infinito )
En fin, a continuación expongo de forma esquemática la estructura del código que utilizo en mi aplicación:
void main()
{
//Leer configuración . . . .
//Conexion con base de datos . . . .
for ( ; ; )
{
//Consulta a la base de datos si hay nueva orden para procesar
//Si no hay nueva orden GOTO FIN;
//Si hay nueva orden, la procesa
//Procesa nueva orden . . . .
// . . . y borra/inicializa variables globales
FIN:
}
}
Muchas Gracias por Todo y Saludos Cordiales !!
Valora esta pregunta


0