Hola!
Estoy haciendo una práctica y necesito que cada 5s aprox. un proceso ejecute una tarea determinada. Sabeis con que objeto puedo realizarlo.
Saludos
Daly
| ||||
podes hacer uso de la funcion sleep(), le pasas coo parametro la cantidad de milisegundos que queres dormir el proceso y listo. En tu caso seria algo asi como void main() { tarea(); // llamada a la tarea que queres hacer cada 5 minutos sleep(300000); } espero que te sirva PD: esta funcion esta en la biblioteca bios.h o dos.h, nmo me acuerdo bien.
__________________ http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux |
| |||
Gracias por contestar, pero con sleep no soluciono el problema! Sleep permite detener el proceso durante x segundos. Yo lo que necesito es que el programa principal cada x segundos ejecute una instrucción. Mientras tanto esté ejecutando instrucciones del programa principal (val la rebundancia). Sería algo similar como el TTimer de Delphi Gracias Saludos Daly |
| ||||
Desde el programa que s ejecuta todo el tiempo, largas un thread que se ejecute cada X cantidad de segundos.
__________________ http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux |
| |||
La solución sería utilizar un timer del propio sistema operativo. Algo así como: void f() { /* Lo que pongas aquí cada 5s */ } int main() { int timer = create_timer(5000,f); ... delete_timer(timer); } |
| ||||
Las funciones especificas de cada sistema operativos, tampoco estan en el standart ANSI C
__________________ http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux |
| |||
Cita: ¿He dicho lo contrario?No te mosquees por favor. La diferencia está en que tú presentaste la opción como solución, y no avisaste de que depende del sistema operativo; y yo lo presente como "función específica del sistema operativo". Para colmo, ni dos.h ni bios.h existen en Windows (más bien, los compiladores de Microsoft). Y sleep() no se encuentra en la API de windows. La que podría usar es Sleep (de kernel32). Existe en todos los windows; incluyendo windows.h. Última edición por MaxExtreme; 14/09/2006 a las 18:28 |
| ||||
Cita: Estas bibliotecas y funciones se encuentran en los compiladores borland
Iniciado por MaxExtreme ¿He dicho lo contrario? No te mosquees por favor. La diferencia está en que tú presentaste la opción como solución, y no avisaste de que depende del sistema operativo; y yo lo presente como "función específica del sistema operativo". Para colmo, ni dos.h ni bios.h existen en Windows (más bien, los compiladores de Microsoft). Y sleep() no se encuentra en la API de windows. La que podría usar es Sleep (de kernel32). Existe en todos los windows; incluyendo windows.h.
__________________ http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux |
| |||
En los antiguos compiladores Borland, que no eran para Windows sino MS-DOS, que yo sepa. |