Jump to content

Definir tempo de espera


alphasil

Recommended Posts

Tens a função sleep() no unistd.h.

No entanto esta função para a execução do teu programa durante x segundos, não serve para usares como um timeout. Para isso o melhor seria usares um alarm, se a função que estás a usar para ler o input não for reentrant (não tenho a certeza de quais são).

Basicamente activas o alarm antes de fazer a chamada à função que lê do teclado, e caso o alarm "dispare" antes de a função de leitura retornar, esta é interrompida (algumas retornam -1 com a variael errno definida como EINTR).

Só uma nota. Sem querer desencorajar-te, mas isto já começa a exigir um grau de conhecimentos que, pelo código e dúvidas que postaste até agora, não me pareces ter. De qualquer forma, A forma de aprender é exactamente tentar fazer aquilo que não sabemos, por isso, se quiseres enveredar por este caminho, apita, que vou tentando dar umas dicas. Aqui já começas a entrar pelas matérias normalmente ensinadas em cadeiras de Sistemas Operativos (sinais, processos, IPC, etc.)

Link to comment
Share on other sites

Aproveito para deixar uma nota, que se estiver errada corrijam:

Em linux a livraria é unistd.h e a função é sleep(tempo em segundos)

Em windows a livraria é windows.h e a função é Sleep(tempo em milisegundos)

É que eu já tinha usado a função sleep() na cadeira de Sistemas Operativos em linux, e depois tentei meter em windows e não reconhecia, até que reparei que tinha de ser em maiuscula.

Link to comment
Share on other sites

antes de mais, não digas livraria. isso é o local onde se compra livros 😄 o termo correcto é biblioteca (pensa em repositório de informação)

estás correcta no que toca a linux, mas no caso do windows depende do compilador que estás a usar. podes usar o mingw que tem implementado o sleep no modelo do linux.

no caso do visual studio, acho que sim .. só confirmando no msdn

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.