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 :

Probleme ds un sleep


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Par défaut Probleme ds un sleep
    Bonjour,

    voila ma fonction sleep n agit pas et ma fonction random retourne tjrs la meme valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for(i=0;i<=client;i++){
    <div style="margin-left:40px">switch(fork()){
    <div style="margin-left:40px">case : 0{
    srand(time(NULL));
    temps = (rand() % 10) + 1;
    sleep(temps);
    printf("client arrive ds %d",temps);
    processusclient();
    }
    ...</div>}</div>}
    Merci a vous !

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    1) avec srand tu initialises la "graine" qui servira au générateur pseudo-aléatoire... tu ne risques donc pas de voir des valeurs différentes avec la même graine

    2) l'affichage de ton message est très mal placé... avant le sleep à la rigueur.
    perso, je le verrais plutôt avant le fork

    3) ça ne compilera pas... fais gaffe aux fautes de copies.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      srand(getpid());
      for(i=0;i<=client;i++){
        temps = (rand() % 10) + 1; 
        printf("client arrive ds %d",temps); 
        switch(fork()) {
            case 0: {
              sleep(temps);
              processusclient(); 
            }
        }
    }
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Par défaut
    alors voila ce que ja i fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
     
      for(i=0;i<=client;i++){
        switch(fork()) {
            case 0: {
              srand(getpid());
              temps = (rand() % 10) + 1; 
              printf("client arrive ds %d",temps); 
              sleep(temps);
              processusclient(); 
            }
        }
    }
    J ai fait ca pour que la generation du nombre aleatoire se fasses sur le pid du fils, ca je pense que programme done precedemment generait sur le pid du pere (??)

    l affichage me donne des temps differents a chaque fois mais le sleep ne marche tjrs pas

  4. #4
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par défaut
    Heu une question quelle est l'interet de mettre un switch a un cas ?

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par gnto
    Heu une question quelle est l'interet de mettre un switch a un cas ?

    C'est parce qu'il a dû prévoir que fork pouvait renvoyer autre chose que 0 ( notamment en cas d'echec )

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 271
    Par défaut
    vi c ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/03/2010, 16h31
  2. [PHP-JS] probleme avec fonction sleep()
    Par m_jaz3 dans le forum Langage
    Réponses: 8
    Dernier message: 26/12/2007, 14h04
  3. Réponses: 5
    Dernier message: 27/09/2006, 14h07
  4. Problème avec un sleep
    Par Treuze dans le forum Linux
    Réponses: 24
    Dernier message: 09/06/2006, 12h23
  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