elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / problema con el consumo de la CPU en: 23 Febrero 2015, 12:21 pm
Hola buenas.
Este es mi primer post, y necesito ayuda porque estoy haciendo un programa tiene mucho consumo de CPU.
Se donde esta el problema, pero no se solucionarlo.

Antes de describir el programa aclarar que estoy trabajando en un raspberry pi b.

Bien vamos a la descripción mi programa:

Nada mas empezar  el programa inicializo todas las variables.
una vez terminada la inicialización creo un proceso el cual abre una un socket y quedo a la espera de que me envíen una petición de datos nuevos. [Aquí esta el problema, en este punto para detener el proceso, solo se me ocurre hacer un while variable != 2, si coloco sleeps para que compruebe cada cierto tiempo si tenemos petición de datos nuevos, mejora el consumo, pero necesito que al recibir dicha petición comience a trabajar y consuma lo minimo posible]

Al recibir dicha petición salgo del bucle y el proceso que hace la petición, entra en un bucle igual.

Código
  1. do {
  2. fseek(f_read,SEEK_SEY,0);//colocamos alprincipio del fichero
  3. in read =fread(bufr,ftell(f_read),10, f_read);
  4. delayMidrodeconds(50);
  5. }while(bufr!=2)
  6.  

Pero esto hace el consumo demasiado alto hasta el punto de bloquear la raspberry

he leído sobre el wait, para intentar sincronizar los procesos, pero solo veo que sirve para detener un proceso hasta que termina otro.

Espero que haberme explicado con claridad, he resumido lo que hace el programa global porque es bastante mas complejo, y me centre en el problema, creo que queda claro.

Muchas gracias por todo de antemano.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines