Usuário com melhor resposta
Execução de tarefas por tempo determinado

Pergunta
-
Pessoal alguem ai poderia me ajudar com esta dúvida...
Estou tentando fazer com que uma tarefa execute de 5 em 5 segundos por exemplo, mas estou com dificuldade para trabalhar com as funções de tempo, existe uma função simples para executar por exemplo uma espera de 5 segundos no programa?
Já agradeço de antecipadamente!!!
reineto8
Respostas
-
Se o seu aplicativo é gráfico, e voce possui uma janela, com WndProc, voce pode usar a função SetTimer(..) e interceptar a mensagem WM_TIMER.
Agora se o seu aplicativo é do tipo console, voce pode criar uma thread, e nela executar suas tarefas, e coloca-la para 'dormir' (sleep(..)) no tempo resultante da diferença do inicio da execução até o final e os 5 segundos.
Se voce fornecer mais detalhes da sua aplicação, podemos te ajudar melhor.. Mas esses dois métodos já te atenderiam. Sendo o primeiro mais fácil de implementar, mas depende do tipo da sua aplicação.
Abraços, cox
Todas as Respostas
-
Se o seu aplicativo é gráfico, e voce possui uma janela, com WndProc, voce pode usar a função SetTimer(..) e interceptar a mensagem WM_TIMER.
Agora se o seu aplicativo é do tipo console, voce pode criar uma thread, e nela executar suas tarefas, e coloca-la para 'dormir' (sleep(..)) no tempo resultante da diferença do inicio da execução até o final e os 5 segundos.
Se voce fornecer mais detalhes da sua aplicação, podemos te ajudar melhor.. Mas esses dois métodos já te atenderiam. Sendo o primeiro mais fácil de implementar, mas depende do tipo da sua aplicação.
Abraços, cox
-
Se a aplicação não tiver janela, ou loop de processamento de eventos. Ou ainda, mesmo tendo o loop, se tiver que processar muita coisa dentro deste loop, eu recomendaria usar uma Thread para fazer isto.
Talvez a maneira mais simples e ainda eficaz seja deixar um laço na thread, com um Sleep() aguardando o tempo que falta completar os 5 segundos (5s-tempo de execução da tarefa desejada).
Bira
-