Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510

    [C++]Aspettare del tempo in millisecondi

    Mi stavo chiedendo come fare un' attesa non attiva che però non sia "troppo lunga".
    Mi spiego meglio: la sleep prende come parametro un intero, quindi la posso chiamare passandogli 1 come parametro.
    E se gli passo un float o un double, esso viene troncato per cui dorme per 0 secondi.
    Ma 1 secondo è troppo
    Contando i clock potrei fare così:

    codice:
    clock_t end=clock()+1000;
    while(clock()<end)
        ;
    Però innanzitutto questa soluzione dipende dalla frequenza del processore, ma poi fa un' attesa, cioè per 1000 clock (se il processo non viene deschedulato) aspetta e fa istruzioni a vuoto.
    Io vorrei invece aspettare tot tempo rilasciando la cpu agli altri processi, altrimenti il programma diventa troppo lento.
    Che funzione potrei usare (anche da librerie non standard, sono su Mac os X)?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Mac, quindi GCC / G++, giusto?
    Credo vada bene questa:
    http://pubs.opengroup.org/onlinepubs...ns/usleep.html
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Si, uso g++, l' ho provata e funziona bene.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.