IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

sleep() en ms


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Par défaut sleep() en ms
    Bonjour à tous,
    comme tout le monde le sais sleep permet d'endormir le processus pendant une durée de x secondes. J'aimerai savoir s'il existe une fonction similaire mais avec laquelle on pourrait préciser la durée en millisecondes.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Par défaut
    usleep ou nanosleep

  3. #3
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Freed0
    usleep ou nanosleep
    A mon souvenir, usleep ou nanosleep ne sont pas portables,
    Jc

  4. #4
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Par défaut
    Ok, merci !!

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par fearyourself
    Citation Envoyé par Freed0
    usleep ou nanosleep
    A mon souvenir, usleep ou nanosleep ne sont pas portables
    Ni plus ni moins que sleep()...

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par fearyourself
    Citation Envoyé par Freed0
    usleep ou nanosleep
    A mon souvenir, usleep ou nanosleep ne sont pas portables,
    Citation Envoyé par [url=http://man.developpez.com/man3/usleep.3.php#L6
    man usleep[/url]]CONFORMITÉ
    BSD 4.3.
    Citation Envoyé par [url=http://man.developpez.com/man2/nanosleep.2.php#L6
    man nanosleep[/url]]CONFORMITÉ
    POSIX.1b (anciennement POSIX.4).
    Il reste la glib avec g_usleep :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    void
    g_usleep (gulong microseconds)
    {
    #ifdef G_OS_WIN32
      Sleep (microseconds / 1000);
    #else /* !G_OS_WIN32 */
    # ifdef HAVE_NANOSLEEP
      struct timespec request, remaining;
      request.tv_sec = microseconds / G_USEC_PER_SEC;
      request.tv_nsec = 1000 * (microseconds % G_USEC_PER_SEC);
      while (nanosleep (&request, &remaining) == -1 && errno == EINTR)
        request = remaining;
    # else /* !HAVE_NANOSLEEP */
      if (g_thread_supported ())
        {
          static GStaticMutex mutex = G_STATIC_MUTEX_INIT;
          static GCond* cond = NULL;
          GTimeVal end_time;
     
          g_get_current_time (&end_time);
          if (microseconds > G_MAXLONG)
    	{
    	  microseconds -= G_MAXLONG;
    	  g_time_val_add (&end_time, G_MAXLONG);
    	}
          g_time_val_add (&end_time, microseconds);
     
          g_static_mutex_lock (&mutex);
     
          if (!cond)
    	cond = g_cond_new ();
     
          while (g_cond_timed_wait (cond, g_static_mutex_get_mutex (&mutex), 
    				&end_time))
    	/* do nothing */;
     
          g_static_mutex_unlock (&mutex);
        }
      else
        {
          struct timeval tv;
          tv.tv_sec = microseconds / G_USEC_PER_SEC;
          tv.tv_usec = microseconds % G_USEC_PER_SEC;
          select(0, NULL, NULL, NULL, &tv);
        }
    # endif /* !HAVE_NANOSLEEP */
    #endif /* !G_OS_WIN32 */
    }

Discussions similaires

  1. [Tomcat][sleep]De la bonne utilisation du sleep??
    Par Titom dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 11/01/2005, 10h25
  2. [Thread] PB Thread.sleep(1000) marche pas
    Par kliel dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 03/12/2004, 13h47
  3. [Thread] besoin sleep(delay)... car java mobilise CPU
    Par thierry198 dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 27/09/2004, 17h46
  4. [Thread]sleep()
    Par jokoss dans le forum Concurrence et multi-thread
    Réponses: 15
    Dernier message: 03/07/2004, 14h33
  5. [langage] fonction sleep + probleme fenetre dos
    Par yokito dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2003, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo