[C con Clase] Problema con saber intervalo de tiempo

Steven Davidson srd4121 en njit.edu
Sab Dic 11 01:49:26 CET 2010


Hola Jorge,

2010/12/10 Jorge Vega Sanchez <memmaker650 en gmail.com>

> Buenas
>
> A ver si me explico. Me gustaría que mi programa realizará una tarea cada x
> segundos. Se que está time.h para saber el tiempo. El problema o la duda que
> me surge es que para calcular el paso de x segundos me parece muy
> ineficiente estar mirando datos del reloj constantemente.
>
> ¿Hay alguna forma de saber cuando mi intervalo de tiempo se ha cumplido y
> por lo tanto lanzar un método de forma eficiente?


De una forma estándar, no hay otra alternativa que usar 'time()' y
'difftime()' para hacer una alarma o cronómetro. También puedes usar
'clock()' y 'CLOCKS_PER_SEC' en lugar de 'time()'.

Típicamente, uno haría uso de las funciones del sistema operativo, si éste
las ofrece. Por ejemplo, es posible que exista una señal involucrada con
"alarmas". En UNIX y en otros sistemas operativos compatibles con POSIX,
existe la señal, 'SIGALRM', que indica al programa que un periodo de tiempo
ha transcurrido.

El API de MS-Windows, tiene el mensaje 'WM_TIMER' junto a las funciones:
'SetTimer()' y 'KillTimer()'. También puedes hacer uso de las funciones
'Sleep()' o 'SleepEx()' para detener tu programa durante un periodo de
tiempo antes de continuar.


Espero que esto te oriente.

Steven
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20101211/1c5f946e/attachment.html>


Más información sobre la lista de distribución Cconclase